Advertisement

Prog-Fuzz:基于AFL的编译器源码模糊测试工具

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
Prog-Fuzz是一款创新的模糊测试工具,专门用于检测编译器源代码中的漏洞。它基于AFL(American Fuzzy Lop)框架开发,能够高效地探索和发现编译器的潜在安全问题,从而帮助开发者提高软件质量与安全性。 程序模糊器介绍非常WIP / PoC代码。谨慎行事。 感谢lcamtuf、AFL员工、John Regehr、C-Reduce员工以及GCC员工的贡献。 用法: 1. 将AFL下载到当前目录。 2. 建立环境。 3. 使用afl-gcc构建编译器。 4. 如有必要,在make.sh中更改$AFL_PATH变量。 5. 在main.cc文件中找到execlp并将其指向您的检测编译器。 6. 运行make.sh脚本进行配置和编译。 7. 执行./main运行程序。 执照: 该项目包括来自AFL(Apache 2.0)和gcc(GPL 3)的代码段,因此该项目自然也是GPL 3。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Prog-FuzzAFL
    优质
    Prog-Fuzz是一款创新的模糊测试工具,专门用于检测编译器源代码中的漏洞。它基于AFL(American Fuzzy Lop)框架开发,能够高效地探索和发现编译器的潜在安全问题,从而帮助开发者提高软件质量与安全性。 程序模糊器介绍非常WIP / PoC代码。谨慎行事。 感谢lcamtuf、AFL员工、John Regehr、C-Reduce员工以及GCC员工的贡献。 用法: 1. 将AFL下载到当前目录。 2. 建立环境。 3. 使用afl-gcc构建编译器。 4. 如有必要,在make.sh中更改$AFL_PATH变量。 5. 在main.cc文件中找到execlp并将其指向您的检测编译器。 6. 运行make.sh脚本进行配置和编译。 7. 执行./main运行程序。 执照: 该项目包括来自AFL(Apache 2.0)和gcc(GPL 3)的代码段,因此该项目自然也是GPL 3。
  • Fuzz-With-Wine-Demo: 用AFL++ QEMUWin32二进制文件辅助与实例
    优质
    Fuzz-With-Wine-Demo是一款专为AFL++ QEMU设计的辅助工具,旨在支持Win32二进制文件的模糊测试。通过集成WINE环境,它提供了高效的漏洞检测能力。 WINE 和 AFL++ 的模糊测试演示 请注意:基于 WINE 的模糊测试与 AFL++ 中的 -W 命令行开关集成在一起,因此此存储库中的脚本是旧式的,但示例仍然有效。 这里提供了一组使用 AFL++ QEMU 模糊化 Win32 二进制文件的帮助程序和示例。要使用 AFL++ QEMU 对 Win32 PE 应用程序进行模糊测试,请确保您的 Linux 发行版能够在没有预加载器的情况下运行 WINE。可以通过以下命令检查: ``` $ WINELOADERNOEXEC=1 wine cmd ``` 此外,您还需要 Python 3 和 pefile 包。 接下来,克隆 master 分支并构建 qemu_mode(对于本示例,请使用 CPU_TARGET = i386)。然后将 afl-wine-trace 脚本复制到 AFL++ 的路径中或导出 AFL_PATH。WINE 安装了一些信号处理程序来处理异常情况,但为了进行模糊测试,我们需要禁用这些处理程序以使被测程序在遇到错误时崩溃。
  • 使用AFL进行并生成GCOV代覆盖率结果AFL-CAOV.zip
    优质
    本资料包提供了一个名为AFL-CAOV的工具,它集成了AFL模糊测试器与GCOV代码覆盖率分析功能,帮助开发者高效检测软件漏洞并评估修复效果。 afl-cov 使用 AFL 模糊测试生成的测试用例文件为目标二进制文件生成 gcov 代码覆盖率结果。通过使用 afl-fuzz 命令,可以为特定目标生成大量测试案例,并利用这些案例来评估新功能和代码行的覆盖情况。
  • Fuzz.rar(
    优质
    Fuzz.rar是一款专为软件安全检测设计的模糊测试工具,通过向目标系统输入畸形数据,帮助开发者发现并修复潜在的安全漏洞。 Fuzz是世界上第一款Fuzzing工具,并且也是该技术被称为“fuzzing”的原因。它是威斯康星大学研究所开发的用于测试Windows程序的工具。通过利用Windows的消息机制,它向窗口随机发送数据,以尝试使应用程序崩溃。
  • SPIKE开框架
    优质
    SPIKE是一款强大的开源模糊测试工具框架,旨在通过生成随机或目标导向的数据包来检测软件漏洞。它支持多种协议,并提供高度可定制性,以适应不同场景的安全测试需求。 SPIKE是一个开源的模糊测试框架,适用于C语言开发,并在Unix平台上运行。
  • Fuzzilli:JavaScript引擎
    优质
    Fuzzilli是一款专门针对JavaScript引擎设计的模糊测试工具,通过生成模糊测试代码来发现并修复潜在的安全漏洞和错误。 弗佐利是一种指导型模糊器,它利用基于自定义中间语言(“FuzzIL”)的动态语言解释器进行操作。这种中间语言能够变异并转换为JavaScript代码。 使用此模糊器的基本步骤包括: 1. 下载支持该工具的一种JavaScript引擎源码。 2. 应用目标目录中的相应补丁程序,具体请参考相关文档说明。 3. 使用coverage工具编译引擎(需要clang版本大于等于4.0)。 4. 编译模糊器:执行`swift build [-c release]`命令。 5. 运行模糊器:使用`swift run [-c release] FuzzilliCli --profile= [other cli options] /path/to/jsshell`命令,其中需要替换相应的参数以匹配你的需求。
  • 文件(FileFuzz.rar)
    优质
    《文件模糊测试工具(FileFuzz.rar)》是一款专为检测软件系统中文件处理漏洞设计的安全测试软件。通过向目标程序发送随机或畸形的数据包,帮助开发者发现并修复潜在的安全隐患。 该工具可以对常见的文件类型进行漏洞检测。
  • 文件(filefuzz.zip)
    优质
    filefuzz.zip是一款专为检测软件系统中文件处理安全漏洞设计的模糊测试工具。通过向目标程序提供畸形或随机生成的输入文件,帮助开发者发现潜在的安全隐患和错误。 在信息技术领域,安全测试是不可或缺的一环。模糊测试(Fuzz Testing)作为一种强大的黑盒测试技术,在软件漏洞的发现方面被广泛应用。本段落以“filefuzz.zip”为例,详细介绍模糊测试的基本原理、FileFuzz工具的使用方法以及其在漏洞挖掘中的价值。 模糊测试又称为“数据输入随机化测试”,通过大量生成随机或半随机的数据输入到目标程序中,探测潜在错误和安全漏洞。这种技术主要针对解析器进行检测,因为解析器通常处理各种类型的数据格式,并且容易出现漏洞。“filefuzz.zip”是一个用于模糊测试的工具,它逐字节地打开文件并在过程中故意引入错误数据。通过对文件内容进行篡改,“filefuzz”可以模拟多种异常输入情况(如不完整的数据包、越界的访问和非法字符组合等),以期触发程序的异常行为并发现潜在的安全问题。 使用FileFuzz的一般步骤如下: 1. 准备待测试的程序:确定要测试的目标程序,并确保该程序能够接收文件作为输入。 2. 运行filefuzz:将“filefuzz.zip”解压后,选择一个需要测试的文件让工具进行篡改以生成一系列变异文件。 3. 监控程序行为:在filefuzz生成变异文件的同时运行目标程序,并处理这些变异文件。通过监控程序的状态(例如崩溃、异常或内存泄漏),可以发现其不稳定之处。 4. 分析结果:当因使用变异文件导致程序出现异常时,记录下该变异文件并进一步分析它为何会导致错误,这有助于定位和修复漏洞。 5. 重复测试:为了提高覆盖率,需要多次运行filefuzz生成更多变异文件以覆盖更多的代码路径。 模糊测试的价值在于其高自动化程度以及能够在大量输入中快速找出可能导致问题的数据。尤其适用于那些复杂且难以手动构造测试用例的场景下使用它来发现漏洞。然而,它也有局限性:可能会产生大量的误报或者对于某些特定类型的漏洞(如时间依赖型漏洞)检测效果不佳。“filefuzz.zip”是模糊测试领域的一个实用工具,能够帮助研究人员高效地发现并分析软件潜在的安全问题,并对提升软件安全性具有重要意义。 通过熟练掌握和使用“filefuzz”,我们可以更有效地保障软件的质量与安全,防止因未知漏洞被利用而造成的损失。
  • 毕业设计:零知识证明
    优质
    本项目致力于开发一款针对零知识证明系统的模糊测试工具,旨在通过随机输入检测潜在的安全漏洞,以增强系统安全性。 American Fuzzy Lop (AFL) 是一个用于测试程序安全性和稳定性的模糊测试工具。它的工作原理是将输入文件作为程序的输入,并通过不断变异这些输入文件来观察程序的行为,从而发现潜在的安全漏洞。借助于代码插桩技术,可以将程序行为转化为一组约束条件,进而求解该组约束以获取有效输入。 libsnark 是一个用于构建零知识证明系统的C++库。它提供了一套工具和算法简化了此类系统的设计与实现过程。非交互式零知识证明是一种能够验证某个命题的真实性而不泄露任何额外信息的机制,在密码学中尤其有用,例如它可以用来确认某人掌握特定秘密(如密钥)而无需公开该秘密本身。 Ubuntu 22.04、LLVM 14和Clang 14 是支持AFL 和 libsnark 开发与测试的重要环境配置。
  • Live555
    优质
    《Live555源码编译与测试工程》是一份详细的指南,教授读者如何获取、配置和编译Live555多媒体流媒体框架源代码,并进行基本功能的测试。适合开发者学习实践。 关于live555源码的编译测试工程,在使用Visual Studio 2012进行编译的时候,可以参考相关文章来完成具体的源码下载与编译工作。