secfigo/Awesome-Fuzzing
GitHub: secfigo/Awesome-Fuzzing
一份系统整理模糊测试(Fuzzing)与漏洞利用开发入门阶段所需学习资源的精选列表,涵盖书籍、课程、工具和实战靶场。
Stars: 5804 | Forks: 826
# 欢迎来到 Awesome Fuzzing [](https://github.com/sindresorhus/awesome)
一份精选的 Fuzzing 资源列表(书籍、免费及付费课程、视频、工具、教程以及用于练习的易受攻击应用程序),用于学习 Fuzzing 以及漏洞利用开发的初始阶段(如根本原因分析)。
### 目录
- [书籍](#books)
- [课程](#courses)
+ [免费](#free)
+ [付费](#paid)
- [视频](#videos)
+ [NYU Poly 课程视频](#nyu-poly-course-videos)
+ [会议演讲与教程](#conference-talks-and-tutorials)
- [教程与博客](#tutorials-and-blogs)
- [工具](#tools)
+ [云端 Fuzzing 工具](#cloud-fuzzers)
+ [文件格式 Fuzzing 工具](#file-format-fuzzers)
+ [网络协议 Fuzzing 工具](#network-protocol-fuzzers)
+ [浏览器 Fuzzing 工具](#browser-fuzzing)
+ [污点分析](#taint-analysis)
+ [符号执行 SAT 与 SMT 求解器](#symbolic-execution-sat-and-smt-solvers)
+ [必备工具](#essential-tools)
- [易受攻击的应用程序](#vulnerable-applications)
- [反 Fuzzing](#anti-fuzzing)
- [定向 Fuzzing](#directed-fuzzing)
- [贡献](#contributing)
# Awesome Fuzzing 资源
## 书籍
*关于 Fuzzing 的书籍*
- [Fuzzing: Brute Force Vulnerability Discovery](https://www.amazon.com/Fuzzing-Brute-Force-Vulnerability-Discovery/dp/0321446119) 作者:Michael Sutton, Adam Greene, Pedram Amini。
- [Fuzzing for Software Security Testing and Quality Assurance ](https://www.amazon.com/Fuzzing-Software-Security-Testing-Assurance/dp/1608078507) 作者:Ari Takanen, Charles Miller, Jared D Demott 与 Atte Kettunen。
- [Open Source Fuzzing Tools](https://www.amazon.com/Open-Source-Fuzzing-Tools-Rathaus/dp/1597491950) 作者:Gadi Evron 与 Noam Rathaus。
- [Gray Hat Python](https://www.amazon.com/Gray-Hat-Python-Programming-Engineers/dp/1593271921) 作者:Justin Seitz。
- [The Fuzzing Book](https://www.fuzzingbook.org/) 作者:Andreas Zeller, Rahul Gopinath, Marcel Böhme, Gordon Fraser, 以及 Christian Holler。
## 课程
*关于 Fuzzing 的课程/培训视频*
### 免费
[NYU Poly ( 更多详情请观看视频 )](https://vimeo.com/5236104 ) - 由 Dan Guido 免费提供。
[Samclass.info ( 查看项目部分和第 17 章 ) ](https://samsclass.info/127/127_F15.shtml) - 由 Sam 提供。
[Modern Binary Exploitation ( RPISEC ) - 第 15 章 ](https://github.com/RPISEC/MBE) - 由 RPISEC 提供。
[Offensive Computer Security - 第 6 周](https://web.archive.org/web/20200414165953/https://www.cs.fsu.edu/~redwood/OffensiveComputerSecurity/lectures.html) - 由 W. Owen Redwood 和 Xiuwen Liu 教授提供。
### 付费
[Offensive Security, Cracking The Perimeter ( CTP ) 和 Advanced Windows Exploitation ( AWE )](https://www.offensive-security.com/information-security-training/)
[SANS 660/760 Advanced Exploit Development for Penetration Testers](https://www.sans.org/course/advanced-exploit-development-penetration-testers)
[Exodus Intelligence - Vulnerability development master class](https://blog.exodusintel.com/2016/05/18/exodus-intelligence-2016-training-course/)
[Ada Logics - Applied Source Code Fuzzing](https://adalogics.com/training-source-fuzz)
[FuzzingLabs Academy (C/C++, Rust, Go fuzzing)](https://academy.fuzzinglabs.com/)
[Signal Labs - Vulnerability Research & Fuzzing](https://signal-labs.com/trainings/vulnerability-research-fuzzing/)
## 视频
*探讨 Fuzzing 技术、工具和最佳实践的视频*
### NYU Poly 课程视频
[Fuzzing 101 (第一部分)](https://vimeo.com/5236104) - 由 Mike Zusman 提供。
[Fuzzing 101 (第二部分)](https://vimeo.com/5237484) - 由 Mike Zusman 提供。
[Fuzzing 101 (2009)](https://vimeo.com/7574602) - 由 Mike Zusman 提供。
[Fuzzing - Coursera 上的软件安全课程](https://www.coursera.org/lecture/software-security/fuzzing-VgyOn) - 由马里兰大学提供。
### 会议演讲与教程
[Attacking Antivirus Software's Kernel Driver](https://github.com/bee13oy/AV_Kernel_Vulns/tree/master/Zer0Con2017)
[Fuzzing the Windows Kernel - OffensiveCon 2020](https://github.com/yoava333/presentations/blob/master/Fuzzing%20the%20Windows%20Kernel%20-%20OffensiveCon%202020.pdf)
[Youtube 上各种 Fuzzing 演讲与展示的播放列表 ](https://www.youtube.com/playlist?list=PLtPrYlwXDImiO_hzK7npBi4eKQQBgygLD) - 这些视频中包含大量优质内容。
[Browser bug hunting - Memoirs of a last man standing](https://vimeo.com/109380793) - 由 Atte Kettunen 提供
[Coverage-based Greybox Fuzzing as Markov Chain](https://www.comp.nus.edu.sg/~mboehme/paper/CCS16.pdf)
[DerbyCon 2016: Fuzzing basics...or how to break software](http://www.irongeek.com/i.php?page=videos/derbycon6/411-fuzzing-basicshow-to-break-software-grid-aka-scott-m)
[Fuzz Theory](https://www.youtube.com/watch?v=5rE8xEg5tXk&list=PLSkhUfcCXvqG6FRTCCxIfoMK6rw3NZvb6) - 由 Brandon Falk 提供
## 教程与博客
*解释 Fuzzing 方法论、技术和最佳实践的教程与博客*
[ARMored coreSight: Towards Efficient Binary-only Fuzzing](https://ricercasecurity.blogspot.com/2021/11/armored-coresight-towards-efficient.html)
[Fuzzing Microsoft's RDP Client using Virtual Channels: Overview & Methodology](https://thalium.github.io/blog/posts/fuzzing-microsoft-rdp-client-using-virtual-channels/)
[Fuzzing Closed Source PDF Viewers](https://www.gosecure.net/blog/2019/07/30/fuzzing-closed-source-pdf-viewers/)
[Fuzzing Image Parsing in Windows, Part One: Color Profiles](https://www.mandiant.com/resources/fuzzing-image-parsing-in-windows-color-profiles)
[Fuzzing Image Parsing in Windows, Part Two: Uninitialized Memory](https://www.mandiant.com/resources/fuzzing-image-parsing-in-windows-uninitialized-memory)
[Fuzzing Image Parsing in Windows, Part Three: RAW and HEIF](https://www.mandiant.com/resources/fuzzing-image-parsing-three)
[Fuzzing the Office Ecosystem](https://research.checkpoint.com/2021/fuzzing-the-office-ecosystem/)
[Effective File Format Fuzzing](https://j00ru.vexillium.org/slides/2016/blackhat.pdf) - Mateusz “j00ru” Jurczyk @ 黑帽欧洲 2016,伦敦
[A year of Windows kernel font fuzzing Part-1 the results](https://googleprojectzero.blogspot.com/2016/06/a-year-of-windows-kernel-font-fuzzing-1_27.html) - 由 Google Project Zero 撰写的精彩文章,描述了进行 Fuzzing 和创建 Fuzzer 所需的步骤。
[A year of Windows kernel font fuzzing Part-2 the techniques](https://googleprojectzero.blogspot.com/2016/07/a-year-of-windows-kernel-font-fuzzing-2.html) - 由 Google Project Zero 撰写的精彩文章,描述了进行 Fuzzing 和创建 Fuzzer 所需的步骤。
[Interesting bugs and resources at fuzzing project](https://blog.fuzzing-project.org/) - 来自 fuzzing-project.org。
[Fuzzing workflows; a fuzz job from start to finish](https://foxglovesecurity.com/2016/03/15/fuzzing-workflows-a-fuzz-job-from-start-to-finish/) - 由 @BrandonPrry 提供。
[A gentle introduction to fuzzing C++ code with AFL and libFuzzer](http://jefftrull.github.io/c++/clang/llvm/fuzzing/sanitizer/2015/11/27/fuzzing-with-sanitizers.html) - 由 Jeff Trull 提供。
[A 15 minute introduction to fuzzing](https://web.archive.org/web/20161129095601/https://www.mwrinfosecurity.com/our-thinking/15-minute-guide-to-fuzzing/) - 由 MWR Security 的伙伴们提供。
[Fuzzing 博客与书籍](https://fuzzinginfo.wordpress.com/resources/) - 来自 fuzzing.info
[Root Cause Analysis of the Crash during Fuzzing](
https://www.corelan.be/index.php/2013/02/26/root-cause-analysis-memory-corruption-vulnerabilities/) - 来自 Corelan Team。
[Root cause analysis of integer flow](https://www.corelan.be/index.php/2013/07/02/root-cause-analysis-integer-overflows/) - 来自 Corelan Team。
[Creating custom peach fuzzer publishers](http://blog.opensecurityresearch.com/2014/01/creating-custom-peach-fuzzer-publishers.html) - 来自 Open Security Research
[7 Things to Consider Before Fuzzing a Large Open Source Project](https://www.linux.com/news/7-things-consider-fuzzing-large-open-source-project/) - 由 Emily Ratliff 提供。
##### 从 Fuzzing 到漏洞利用:
[From fuzzing to 0-day](https://blog.techorganic.com/2014/05/14/from-fuzzing-to-0-day/) - 由 Harold Rodriguez(@superkojiman) 提供。
[From crash to exploit](https://www.corelan.be/index.php/2013/02/26/root-cause-analysis-memory-corruption-vulnerabilities/) - 来自 Corelan Team。
##### Peach Fuzzer 相关教程
[Peach Fuzzer Introductionh](https://peachtech.gitlab.io/peach-fuzzer-community/Introduction.html)
[Fuzzing with Peach Part 1](http://www.flinkd.org/fuzzing-with-peach-part-1/) - 由 Corelan Team 的 Jason Kratzer 提供
[Fuzzing with Peach Part 2](http://www.flinkd.org/fuzzing-with-peach-part-2-fixups-2/) - 由 Corelan Team 的 Jason Kratzer 提供。
[Auto generation of Peach pit files/fuzzers](http://web.archive.org/web/20181003092741/http://doc.netzob.org/en/latest/tutorials/peach.html) - 由 Frédéric Guihéry, Georges Bossert 提供。
##### AFL Fuzzer 相关教程
[Creating a fuzzing harness for FoxitReader 9.7 ConvertToPDF Function](https://www.signal-labs.com/blog/foxit-97-fuzz)
[50 CVEs in 50 Days: Fuzzing Adobe Reader](https://research.checkpoint.com/2018/50-adobe-cves-in-50-days/)
[Fuzzing sockets, part 1: FTP servers](https://securitylab.github.com/research/fuzzing-sockets-FTP)
[Fuzzing software: common challenges and potential solutions (Part 1) ](https://securitylab.github.com/research/fuzzing-challenges-solutions-1)
[Fuzzing software: advanced tricks (Part 2)](https://securitylab.github.com/research/fuzzing-software-2)
[Fuzzing workflows; a fuzz job from start to finish](https://foxglovesecurity.com/2016/03/15/fuzzing-workflows-a-fuzz-job-from-start-to-finish/) - 由 @BrandonPrry 提供。
[Fuzzing capstone using AFL persistent mode](https://toastedcornflakes.github.io/articles/fuzzing_capstone_with_afl.html) - 由 @toasted_flakes 提供
[RAM disks and saving your SSD from AFL Fuzzing](http://cipherdyne.org/blog/2014/12/ram-disks-and-saving-your-ssd-from-afl-fuzzing.html)
[Bug Hunting with American Fuzzy Lop](https://josephg.com/blog/bug-hunting-with-american-fuzzy-lop/)
[Advanced usage of American Fuzzy Lop with real world examples](https://volatileminds.net/2015/07/01/advanced-afl-usage.html)
[Segfaulting Python with afl-fuzz](https://tomforb.es/segfaulting-python-with-afl-fuzz)
[Fuzzing With AFL-Fuzz, a Practical Example ( AFL vs Binutils )](https://www.evilsocket.net/2015/04/30/Fuzzing-with-AFL-Fuzz-a-Practical-Example-AFL-vs-binutils/)
[The Importance of Fuzzing...Emulators?](https://mgba.io/2016/09/13/fuzzing-emulators/)
[How Heartbleed could've been found](https://blog.hboeck.de/archives/868-How-Heartbleed-couldve-been-found.html)
[Filesystem Fuzzing with American Fuzzy lop](https://events.static.linuxfound.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0.pdf)
[Fuzzing Perl/XS modules with AFL](https://medium.com/@dgryski/fuzzing-perl-xs-modules-with-afl-4bfc2335dd90)
[How to fuzz a server with American Fuzzy Lop](https://www.fastly.com/blog/how-fuzz-server-american-fuzzy-lop) - 由 Jonathan Foote 提供
[Fuzzing with AFL Workshop - a set of challenges on real vulnerabilities](https://github.com/ThalesIgnite/afl-training)
[Fuzzing 101 - PHDays](https://github.com/RootUp/PHDays9)
##### libFuzzer 相关教程
[libFuzzer Tutorial](https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md)
[Hunting for bugs in VirtualBox (First Take)](http://blog.paulch.ru/2020-07-26-hunting-for-bugs-in-virtualbox-first-take.html)
[libFuzzer Workshop: "Modern fuzzing of C/C++ Projects"](https://github.com/Dor1s/libfuzzer-workshop)
##### honggfuzz 相关教程
[Fuzzing ImageIO](https://googleprojectzero.blogspot.com/2020/04/fuzzing-imageio.html)
[Double-Free RCE in VLC. A honggfuzz how-to](https://www.pentestpartners.com/security-blog/double-free-rce-in-vlc-a-honggfuzz-how-to/)
##### Spike Fuzzer 相关教程
[Fuzzing with Spike to find overflows](https://null-byte.wonderhowto.com/how-to/hack-like-pro-build-your-own-exploits-part-3-fuzzing-with-spike-find-overflows-0162789/)
[Fuzzing with Spike](https://samsclass.info/127/proj/p18-spike.htm) - 来自 samclass.info
##### FOE Fuzzer 相关教程
[Fuzzing with FOE](https://samsclass.info/127/proj/p16-fuzz.htm) - 来自 Samclass.info
##### SMT/SAT 求解器教程
[Z3 - A guide](https://www.philipzucker.com/z3-rise4fun/guide.html) - Getting Started with Z3: A Guide
##### 构建反馈式 Fuzzer(用于教学目的)
[Building A Feedback Fuzzer](https://blog.fadyothman.com/tag/myfuzzer/) - 由 @fady_othman 提供
## 工具
*有助于对应用程序进行 Fuzzing 的工具*
### 云端 Fuzzing 工具
*有助于在云环境中进行 Fuzzing 的 Fuzzer。*
[Cloudfuzzer](https://github.com/ouspg/cloudfuzzer) - 一个云端 Fuzzing 框架,使得在云环境中轻松运行自动化 Fuzzing 测试成为可能。
[ClusterFuzzer](https://google.github.io/clusterfuzz/) - ClusterFuzzer,可扩展的开源 Fuzzing 基础设施。Google 使用它来对 Chrome 浏览器进行 Fuzzing。
[Fuzzit](https://fuzzit.dev) - Fuzzit,持续 Fuzzing 即服务平台。对开源项目免费。被多个开源项目(systemd, radare2)和闭源项目使用。如需加入开源计划,请发送邮件至 oss@fuzzit.dev
### 文件格式 Fuzzing 工具
*有助于对 pdf、mp3、swf 等文件格式进行 Fuzzing 的 Fuzzer。*
[Jackalope](https://github.com/googleprojectzero/Jackalope)
[Rehepapp](https://github.com/FoxHex0ne/Rehepapp)
[Newer version of Rehepapp](https://github.com/FoxHex0ne/Rehepapp)
[pe-afl combines static binary instrumentation on PE binary and WinAFL](https://github.com/wmliang/pe-afl)
[MiniFuzz - Wayback Machine 链接](https://web.archive.org/web/20140512203517/http://download.microsoft.com/download/D/6/E/D6EDC908-A1D7-4790-AB0B-66A8B35CD931/MiniFuzzSetup.msi) - 微软提供的基础文件格式 Fuzzing 工具。(已不再微软网站上提供)。
[BFF from CERT](https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=507974) - 针对文件格式的基础 Fuzzing 框架。
[AFL Fuzzer (仅限 Linux)]( http://lcamtuf.coredump.cx/afl/) - 由 Michal Zalewski(又名 lcamtuf)开发的 American Fuzzy Lop Fuzzer
[Win AFL](https://github.com/googleprojectzero/winafl) - AFL 的一个分支,用于 Fuzzing Windows 二进制文件
[Shellphish Fuzzer](https://github.com/shellphish/fuzzer) - AFL 的 Python 接口,允许轻松注入测试用例及其他功能。
[TriforceAFL](https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/june/project-triforce-run-afl-on-everything/) - AFL 的修改版本,支持对没有源代码的应用程序进行 Fuzzing。
[AFLGo](https://github.com/aflgo/aflgo) - 使用 AFL 的定向灰盒 Fuzzing,用于 Fuzzing 程序的特定位置。
[Peach Fuzzer](https://sourceforge.net/projects/peachfuzz/) - 有助于创建自定义简易和智能 Fuzzer框架。
[MozPeach](https://github.com/MozillaSecurity/peach) - 由 Mozilla Security 开发的 Peach 2.7 分支版本。
[Failure Observation Engine (FOE)](https://vuls.cert.org/confluence/display/tools/CERT+FOE+-+Failure+Observation+Engine) - 针对 Windows 应用程序的基于变异的文件 Fuzzing 测试工具。
[rmadair](http://rmadair.github.io/fuzzer/) - 基于变异的文件 Fuzzer,使用 PyDBG 监视感兴趣的信号。
[honggfuzz](https://github.com/google/honggfuzz) - 具有有趣分析选项的通用、易用的 Fuzzer。支持基于代码覆盖率的反馈驱动 Fuzzing。支持 GNU/Linux、FreeBSD、Mac OSX 和 Android。
[zzuf](https://github.com/samhocevar/zzuf) - 透明的应用程序输入 Fuzzer。它通过拦截文件操作并更改程序输入中的随机位来工作。
[radamsa](https://github.com/aoh/radamsa) - 通用 Fuzzer 和测试用例生成器。
[binspector](https://github.com/binspector/binspector) - 二进制格式分析与 Fuzzing 工具
[grammarinator](https://github.com/renatahodovan/grammarinator) - 基于 ANTLR v4 语法的文件格式 Fuzzing 工具(ANTLR 项目中已提供大量现成的语法)。
[Sloth](https://github.com/ant4g0nist/sloth) - Sloth 🦥 是一个用于 Fuzzing Android 原生库的覆盖率引导 Fuzzing 框架,利用了 libFuzzer 和 QEMU 用户模式仿真。
[ManuFuzzer](https://github.com/ant4g0nist/ManuFuzzer) - 针对 macOS 的二进制代码覆盖率 Fuzzer,基于 libFuzzer 和 LLVM。
### 网络协议 Fuzzing 工具
*有助于对使用 HTTP、SSH、SMTP 等基于网络协议的应用程序进行 Fuzzing 的 Fuzzer。*
[Peach Fuzzer](https://sourceforge.net/projects/peachfuzz/) - 有助于创建自定义简易和智能 Fuzzer 的框架。
[Sulley](https://github.com/OpenRCE/sulley) - 由 Pedram Amini 开发的 Fuzzer 开发与 Fuzzing 测试框架,由多个可扩展的组件构成。
[boofuzz](https://github.com/jtpereyda/boofuzz) - Sulley 框架的分支和继任者。
[Spike](http://www.immunitysec.com/downloads/SPIKE2.9.tgz) - 类似于 Sulley 的 Fuzzer 开发框架,Sulley 的前身。
[Metasploit Framework](https://github.com/rapid7/metasploit-framework) - 一个包含部分 Fuzzing 功能(通过 Auxiliary 模块实现)的框架。
[Nightmare](https://github.com/joxeankoret/nightmare) - 带有 Web 管理界面的分布式 Fuzzing 测试套件,支持使用网络协议进行 Fuzzing。
[rage_fuzzer](https://github.com/deanjerkovich/rage_fuzzer) - 一个无感知协议的傻瓜式数据包 Fuzzer/重放器。
[Fuzzotron](https://github.com/denandz/fuzzotron) - 支持 TCP、UDP 和多线程的简单网络 Fuzzer。
[Mutiny](https://github.com/Cisco-Talos/mutiny-fuzzer) - Mutiny Fuzzing Framework 是一个网络 Fuzzer,通过基于变异的 Fuzzer 重放 PCAP 数据包。
[Fuzzing For Worms](https://github.com/dobin/ffw) - 针对网络服务器的 Fuzzing 框架。
[AFL (带有网络补丁)](https://github.com/jdbirdwell/afl) - 能够进行网络 Fuzzing 的非官方版 American Fuzzy Lop。
[AFLNet](https://github.com/aflnet/aflnet) - 针对网络协议的灰盒 Fuzzer(AFL 的扩展)。
[Pulsar](https://github.com/hgascon/pulsar) - 协议学习、仿真与有状态 Fuzzer。
### 浏览器 Fuzzing
[BFuzz](https://github.com/RootUp/BFuzz) - 基于输入的浏览器 Fuzzing 框架。
[Fuzzinator](https://github.com/renatahodovan/fuzzinator) - Fuzzinator 随机测试框架
[Grizzly](https://github.com/MozillaSecurity/grizzly) - 跨平台浏览器 Fuzzing 框架
### 杂项
*其他值得关注的 Fuzzer,如内核 Fuzzer、通用 Fuzzer 等。*
[Choronzon](https://github.com/CENSUS/choronzon) - 基于进化知识的 Fuzzer
[QuickFuzz](https://github.com/CIFASIS/QuickFuzz) - 用 Haskell 编写的工具,旨在利用现成且著名的 Fuzzer 来测试第三方软件中常见文件格式的意外输入。
[gramfuzz](https://github.com/d0c-s4vage/gramfuzz) - 基于语法的 Fuzzer,允许定义复杂的语法来建模文本和二进制数据格式
[KernelFuzzer](https://github.com/mwrlabs/KernelFuzzer) - 跨平台内核 Fuzzing 框架。
[honggfuzz](http://honggfuzz.com/) - 具有有趣分析选项的通用、易用的 Fuzzer。
[Hodor Fuzzer](https://github.com/nccgroup/hodor) - 又一个通用 Fuzzer。
[libFuzzer](http://llvm.org/docs/LibFuzzer.html) - 针对用 C/C++ 编写的目标的进程内、覆盖率引导、进化型 Fuzzing 引擎。
[syzkaller](https://github.com/google/syzkaller) - 分布式、无监督、覆盖率引导的 Linux 系统调用 Fuzzer。
[ansvif](https://oxagast.github.io/ansvif/) - 一个旨在发现 C/C++ 代码中漏洞的高级跨平台 Fuzzing 框架。
[Tribble](https://github.com/SatelliteApplicationsCatapult/tribble) - 易用的、覆盖率引导的 JVM Fuzzing 框架。
[go-fuzz](https://github.com/dvyukov/go-fuzz) - 针对 Go 包的覆盖率引导测试工具。
[FExM](https://github.com/fgsect/fexm) - 自动化大规模 Fuzzing 框架
[Jazzer](https://github.com/CodeIntelligenceTesting/jazzer) - 基于 libFuzzer 的针对 Java 虚拟机的覆盖率引导、进程内 Fuzzer。
[cifuzz](https://github.com/CodeIntelligenceTesting/cifuzz) - 用于在多种语言和目标中执行覆盖率引导 Fuzzing 测试的命令行工具。
[WebGL Fuzzer](https://github.com/ant4g0nist/webgl-fuzzer) - WebGL Fuzzer
[fast-check](https://fast-check.dev/) - 用 TypeScript 编写的 Fuzzer 工具,旨在针对 JavaScript 代码运行意外输入。
### 污点分析
*用户输入如何影响执行*
[PANDA ( Platform for Architecture-Neutral Dynamic Analysis )](https://github.com/moyix/panda)
[QIRA (QEMU Interactive Runtime Analyser)](http://qira.me/)
[kfetch-toolkit](https://github.com/j00ru/kfetch-toolkit) - 用于执行操作系统内核内存引用高级日志记录的工具
[moflow](https://github.com/vrtadmin/moflow) - 一个软件安全框架,包含用于漏洞发现和分类的工具。
### 符号执行 SAT 与 SMT 求解器
[Z3](https://github.com/Z3Prover/z3) - 来自 Microsoft Research 的定理证明器。
[SMT-LIB](http://smtlib.cs.uiowa.edu/) - 旨在促进模理论可满足性(SMT)研究和开发的国际倡议。
[Symbolic execution with KLEE: From installation and introduction to bug-finding in open source software](https://adalogics.com/blog/symbolic-execution-with-klee) - 一组包含四个教学视频的系列教程,介绍了 KLEE,从如何入门 KLEE 开始,以在真实代码中查找内存损坏漏洞的演示结束。
### 参考文献
我没有将像 AxMan 这样的经典工具包含在内,请参考以下链接获取更多信息。
https://www.ee.oulu.fi/research/ouspg/Fuzzers
### 必备工具
*漏洞利用开发人员和逆向工程师的常用工具*
#### 调试器
[Windbg](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools) - 漏洞利用编写者首选的调试器。
[Immunity Debugger](http://debugger.immunityinc.com) - Immunity Sec 开发的调试器。
[OllyDbg ](http://www.ollydbg.de/) - 逆向工程师和漏洞利用编写者都首选的调试器。
[Mona.py ( Windbg 和 Immunity dbg 的插件 )](https://github.com/corelan/mona/) - 让漏洞利用开发人员工作更轻松的强大工具。
[x64dbg](https://github.com/x64dbg/) - Windows 上的开源 x64/x32 调试器。
[Evan's Debugger (EDB)](http://codef00.com/projects#debugger) - GDB 的前端。
[GDB - Gnu Debugger](http://www.sourceware.org/gdb/) - 最受欢迎的 Linux 调试器。
[PEDA](https://github.com/longld/peda) - GDB 的 Python 漏洞利用开发辅助工具。
[Radare2](http://www.radare.org/r/) - 用于逆向工程和分析二进制文件的框架。
#### 反汇编器及其他
*反汇编器、反汇编框架等。*
[IDA Pro](https://www.hex-rays.com/products/ida/index.shtml) - 最佳反汇编器
[binnavi](https://github.com/google/binnavi) - 二进制分析 IDE,为反汇编代码的控制流图和调用图添加注释。
[Capstone](https://github.com/aquynh/capstone) - Capstone 是一个轻量级的多平台、多架构反汇编框架。
#### 其他
[ltrace](http://ltrace.org/) - 拦截库调用
[strace](https://sourceforge.net/projects/strace/) - 拦截系统调用
## 易受攻击的应用程序
Exploit-DB - https://www.exploit-db.com
(搜索并挑选带有相应可下载应用程序的漏洞利用程序,使用你选择的 Fuzzer 重现该漏洞利用)
PacketStorm - https://packetstormsecurity.com/files/tags/exploit/
[Fuzzgoat](https://github.com/fuzzstati0n/fuzzgoat) - 用于测试 Fuzzer 的易受攻击的 C 程序。
[vulnserver](https://github.com/stephenbradshaw/vulnserver) - 用于测试 Fuzzer 的易受攻击的服务器。
##### 用于在 Fuzzing 期间进行种子设定的样本文件:
https://files.fuzzing-project.org/
[来自 Mozilla 的 PDF 测试语料库](https://github.com/mozilla/pdf.js/tree/master/test/pdfs)
[MS Office 文件格式文档](https://www.microsoft.com/en-us/download/details.aspx?id=14565)
[Fuzzer Test Suite](https://github.com/google/fuzzer-test-suite) - 针对 Fuzzing 引擎的一组测试。包含不同的知名漏洞,如 Heartbleed、c-ares 10万美元漏洞等。
[Fuzzing Corpus](https://github.com/strongcourage/fuzzing-corpus) - 一个语料库,包含用于在 Fuzzing 文献中对多个目标进行 Fuzzing 的各种文件格式。
## 反 Fuzzing
[Introduction to Anti-Fuzzing: A Defence In-Depth Aid](https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2014/january/introduction-to-anti-fuzzing-a-defence-in-depth-aid/)
[Fuzzification: Anti-Fuzzing Techniques](https://www.usenix.org/conference/usenixsecurity19/presentation/jung)
[AntiFuzz: Impeding Fuzzing Audits of Binary Executables](https://www.usenix.org/conference/usenixsecurity19/presentation/guler)
## 定向 Fuzzing
[Awesome Directed Fuzzing](https://github.com/strongcourage/awesome-directed-fuzzing):精选的优秀定向 Fuzzing 研究论文列表。
## 贡献
[详情请参考 contributing.md 中的指南](Contributing.md)。
感谢以下对本项目做出贡献的伙伴们。
+ [Tim Strazzere](https://twitter.com/timstrazz)
+ [jksecurity](https://github.com/jksecurity)
+ [以及这些了不起的人](https://github.com/secfigo/Awesome-Fuzzing/graphs/contributors)
标签:C2框架, CISA项目, CTF练习, Exploit Development, Fuzzing, TLS抓取, 利用开发, 协议模糊测试, 安全学习资源, 安全测试, 安全课程, 定向模糊测试, 抗模糊测试, 攻击性安全, 文件格式模糊测试, 根本原因分析, 模糊测试资源, 浏览器模糊测试, 漏洞分析, 漏洞靶场, 符号执行, 网络安全, 网络安全书籍, 路径探测, 软件安全, 防御加固, 防御检测, 隐私保护