网络安全-好用的模糊测试器汇总与思考

简介: 网络安全-好用的模糊测试器汇总与思考

内核 && 通用模糊测试器

OSS-Fuzz-7.1k stars, 对开源软件进行持续模糊测试,支持多种语言开发的软件,能够构建自己的模糊测试平台,例如结合Jazzer,学习成本较高。

clusterfuzz-4.7k stars,可扩展的模糊测试框架,OSS-Fuzz的后端。

syzkaller - 3.9k stars, 分布式、无监督、基于覆盖度的 Linux 系统调用模糊测试工具

AFL-2.5k stars,可使用QEMU,是一款比较经典的模糊测试器。

AFL++-2.5k stars,是AFL的高级分支,速度更快,变异策略更多更好。

honggfuzz-2.4k stars,支持安卓、windows、mac、linux等多种操作系统,可通过命令行或文件等输入模式,可使用QEMU,多进程、多线程,已发现多个CVE,OSS-Fuzz、go-fuzz等受到它的启发。

Choronzon - 265 stars,基于遗传知识的 Fuzzer

gramfuzz - 221 stars,可定义复杂语法来建模文档与二进制数据格式的基于语法的 Fuzzer

KernelFuzzer - 424 stars, 跨平台内核 Fuzzer 框架

QuickFuzz - 192 stars,Haskell 写的针对第三方软件使用常见文件格式进行测试的工具,利用现成的、知名的 Fuzzer

Hodor Fuzzer - 124 stars, 曾经是另一个通用的 fuzzer

radamsa - 通用的测试用例生成器

文件格式模糊测试器

对pdf、 mp3、 swf 等文件格式进行模糊测试

Win AFL - 83 stars, Ivan Fratic 开发的针对 Windows 二进制程序 fuzzing 的 AFL 分支版本

AFLGo - 344 stars, 基于 AFL 构建的导向性灰盒 Fuzzing,针对程序特定位置进行模糊测试

Shellphish Fuzzer - 598 stars, 一个操纵 AFL 的 Python 接口,可以简单的写入测试用例与其他功能

zzuf - 366 stars, 一个透明应用输入 fuzzer,可以拦截文件操作、改变程序输入的随机位

binspector - 179 stars, 二进制格式分析与模糊测试工具

grammarinator - 215 stars, 基于 ANTLR v4 语法的文件格式模糊测试工具(ANTLR 项目已有大量的语法)

pe-afl-195 stars, 针对 PE 文件进行静态二进制插桩辅助、结合 WinAFL 的 Fuzzer

MiniFuzz - Microsoft 出品的基础文件格式 fuzzing 工具

BFF from CERT - 基础文件格式 fuzzing 框架

AFL Fuzzer (Linux only) - Michal Zalewski aka lcamtuf 开发的 Fuzzer

TriforceAFL - 一个 AFL 的修正版,支持应用源码无法获得情况下的 fuzzing

Peach Fuzzer - 帮助创建传统 dumb 以及小型 fuzzer 的框架

Failure Observation Engine (FOE) - 基于畸形文件的 Windows 程序 Fuzzing 工具

rmadair - 基于畸形文件的 fuzzer,使用 PyDBG 来监视感兴趣的信号

网络协议模糊测试器

对 HTTP, SSH, SMTP 等网络协议进行模糊测试

Sulley - 1.3k stars, Michael Sutton 开发,包含多个可扩展组件的 Fuzzer 开发与 Fuzzing 测试框架,不再维护,推荐下面的

boofuzz - 1.5k stars, Sulley 框架的继任者

Spike - 像 sulley 的 fuzzer 开发框架,是 sulley 的前身

Metasploit Framework - 26.3k stars,通过 Auxiliary 模块使其具有了 fuzzing 能力的框架

Nightmare - 362 stars, 一个带有 Web 管理界面的分布式 fuzzing 测试套件,支持对网络协议进行 fuzzing

rage_fuzzer - 20 stars, 未知协议包 fuzzer

Fuzzotron - 355 stars, 支持 TCP、UDP 的简单多进程网络 Fuzzer

Mutiny - 474 stars, 通过重放畸变的 PCAP 数据包来对网络进行 Fuzzer

Fuzzing For Worms - 103 stars, 用于网络服务的 Fuzzing 框架

AFL (w/ networking patch) - 188 stars, 用于网络 Fuzzing 的非官方版 AFL

AFLNet - 503 stars, 用于网络协议的灰盒 Fuzzer(AFL 的扩展)

Jackalope-684 stars, 分布式的,可用于windows和macos的二进制模糊测试器。

Peach Fuzzer - 帮助创建传统 dumb 以及小型 fuzzer 的框架,之前是Python编写的,Peach3使用C#重写了。

浏览器模糊测试器

BFuzz - 283 stars, 一款基于输入的模糊测试框架

WEB模糊测试器

ffuf-6k stars,go语言编写的快速web模糊测试器,可对get、post数据包进行模糊测试,可使用外部变异器,例如,radamsa,来对种子进行变异生成测试用例。

wfuzz-4.2k stars,WFuzz 是一个用于 Python 的 Web 应用程序安全模糊器工具和库,可对路径、文件、URL参数、POST请求等进行模糊测试。

restler-fuzzer-1.5k stars,RestApi模糊测试器

SSRFmap-1.7k stars,自动的SSRF模糊测试器。

WebScarab-该工具是一个具有模糊测试能力的Web应用审计套件

云模糊测试器

在云环境中进行模糊测试的模糊测试工具

Cloudfuzzer - 18 stars,在云环境中自动、便易地进行云 Fuzzing 的框架

Fuzzit - Fuzzit 是一个 Fuzzing 即服务的平台,被 systemd, radare2 等多个开源\闭源项目使用

某语言的模糊测试器

Java

jazzer-489 stars,基于libFuzzer的覆盖率指导的JVM软件模糊测试器

Tribble - 16 stars,易用、覆盖度指导的 JVM 模糊测试框架

C/C++

libFuzzer - 面向 C/C++ 程序、基于覆盖度的进化模糊测试工具

ansvif - 用于在 C/C++ 程序中查找漏洞的高级跨平台模糊测试框架

Go

go-fuzz - 4.3k star,覆盖度指导的 go 包模糊测试

DOM

domato-1.4k stars,dom模糊测试器

JS

fuzzilli-1.4k stars, js引擎模糊测试器

关于模糊测试器的思考

模糊测试器的组成部分

用例生成器

基于变异:有种子文件,变异后生成测试用例

基于生成:知道输入的格式,根据格式在范围内生成测试用例

可使用radamsa

监控器

监控被测试程序,获取被测试程序占用的cpu、内存、是否崩溃等情况

可利用插桩技术

过滤器

有些崩溃可能上网络波动等造成的,可以过滤

可利用正则

核心部分

调用用例生成器生成测试用例,将测试用例通过发送或调用被测试程序的方式传输,接收监控器的结果,指导用例的生成,接收过滤器的结果,生成统计信息

结果统计

统计发送的用例数量、崩溃数量、运行耗时等

提高

代码覆盖率引导

使用分支覆盖率等进行引导,使测试用例尽可能的覆盖更多代码

可利用插桩技术,放在监控器的部分,返回给核心部分

多进程、多线程

模糊测试的一个大问题就是效率太低,通过多进程和多线程可以得到缓解

分布式

同样,分布式也可以提高效率,同时,分布在不同机器,省的占用某一台机器过多内存和cpu,而且可以满足高可用。

可视化

可通过web界面等进行可视化,实时显示统计信息,有多少生成器在运行等。

更多内容查看:网络安全-自学笔记

喜欢本文的请动动小手点个赞,收藏一下,有问题请下方评论,转载请注明出处,并附有原文链接,谢谢!如有侵权,请及时联系。如果您感觉有所收获,自愿打赏,可选择支付宝18833895206(小于),您的支持是我不断更新的动力。

相关文章
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
96 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
3月前
|
SQL 安全 测试技术
网络安全的屏障与钥匙:漏洞防护与加密技术解析软件测试的艺术:探索性测试的力量
【8月更文挑战第27天】在数字时代的海洋中,网络安全是保护我们数据资产的灯塔和堤坝。本文将深入浅出地探讨网络安全领域的关键要素——安全漏洞、加密技术以及不可或缺的安全意识。通过实际案例分析,我们将了解如何识别和修补潜在的安全漏洞,掌握现代加密技术的工作原理,并培养起一道坚固的安全防线。文章旨在为读者提供实用的知识和技能,以便在日益复杂的网络环境中保持警惕,确保个人及组织信息的安全。
|
3月前
|
机器学习/深度学习
神经网络与深度学习---验证集(测试集)准确率高于训练集准确率的原因
本文分析了神经网络中验证集(测试集)准确率高于训练集准确率的四个可能原因,包括数据集大小和分布不均、模型正则化过度、批处理后准确率计算时机不同,以及训练集预处理过度导致分布变化。
|
14天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
20天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
47 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
20天前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
|
20天前
|
安全 大数据 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
|
20天前
|
SQL 安全 网络协议
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
|
3月前
|
敏捷开发 测试技术 持续交付
软件测试中的自动化策略与实践云计算时代的网络安全挑战与对策
【8月更文挑战第30天】在软件开发的海洋中,自动化测试是一艘能够带领团队高效航行的帆船。本文将探讨如何搭建这艘帆船,从选择适合的自动化测试框架开始,到编写有效的测试脚本,再到持续集成的实施和测试结果的分析,我们将一步步揭开自动化测试的神秘面纱。你将学习到如何通过自动化测试来提升软件质量和开发效率,以及如何克服实施过程中的挑战。让我们一起启航,探索自动化测试的世界。