BFuzz 目前处于测试阶段。
BFuzz 是一个基于输入的模糊测试工具,它接受 .html 作为输入,打开你的浏览器新实例,并传递由 domato 生成的多个测试用例(这些测试用例位于 BFuzz 的 recurve 文件夹中)。此外,BFuzz 是一个自动化工具,重复执行相同的任务,不会对任何测试用例进行变形。
warmachine@ftw:~/BFuzz$ ./generate.sh
warmachine@ftw:~/BFuzz$ python BFuzz.py
输入浏览器类型:
1: Chrome
2: Firefox
>>
运行 python BFuzz.py 后会提示选择测试 Chrome 还是 Firefox。如果选择 2,则会打开 Firefox(firefox --new-instance),并随机打开 recurve 中的某个测试用例,在终端生成日志,等待 3 秒,然后再次打开 Firefox 并重复相同的过程。
BFuzz 是一个小型的 .py 脚本,能够打开浏览器,运行测试用例 12 秒,然后关闭,等待 3 秒,再重复相同的过程。
recurve 中的测试用例由 domato 生成。
generator.py 包含主脚本。它使用 grammar.py 作为库,并包含用于 DOM 模糊测试的额外辅助代码。
grammar.py 包含生成引擎,该引擎大部分与应用无关,因此可用于其他(即非 DOM)基于生成的模糊测试工具。由于它可以作为库使用,其用法将在下面的单独章节中描述。
.txt 文件包含语法定义。主要有三个文件:html.txt、css.txt 和 js.txt,分别包含 HTML、CSS 和 JavaScript 语法。这些根语法文件可能包含来自其他文件的内容。
Epiphany Web 3.28.1:CVE-2018-11396,针对 CVE-2018-11396 发现的新 测试用例
Mozilla Firefox:基于栈的缓冲区溢出漏洞,Bug ID:1456083 [已标记为重复]
欢迎提交 PR。
处理异常,添加横幅,优化代码,变形测试用例。