我正在寻找一种免费的,开源的便携式模糊测试工具,适用于使用Java,Python或Jython编写的流行图像文件类型。
理想情况下,它会使用某种声明性约束接受模糊字段的规范。用于指定约束的非过程语法是非常优选的。否则,不妨用Python或其他任何东西写出它们。
只需为它们指定有效值或表达式的范围。理想情况下,它会支持某种生成编程,将模糊器导出为各种编程语言,以适应需要更多自定义的情况。
如果它支持用于控制参数值和范围的直接操作GUI,那也不错。
应支持的文件格式为:
所以基本上,它应该是一个由可立即运行的实用程序,框架或库组成的工具包,并且能够直接生成模糊文件以及它生成的程序。它需要简单,以便快速创建测试图像。它应具有用于创建一系列图像的批处理功能。一次创建一个就太痛苦了。
我不想要黑客工具,只需要一个QA工具。基本上,我只是想解决一些问题,即让普通的图像渲染/解析库稳定可靠而花费太长时间。
答案 0 :(得分:3)
Peach有一个文件模糊测试模块。这是一个很好的快速入门教程,使用文件模糊测试模块使用声音文件攻击mplayer:http://peachfuzzer.com/TutorialFileFuzzing
我建议关注文件的标题。
答案 1 :(得分:2)
不完全符合您的要求,但为了快速启动并运行文件格式的一些模糊测试,您应该从奥卢大学安全编程组Radamsa查看OUSPG。
Radamsa可以获取大量文件,例如jpeg文件,并将这些文件转换为模糊图像。它还可以从多个文件中学习一些结构,因此不只是随机位翻转位和字节。
Radamsa可以在TCP套接字上监听也很酷。这样,您可以使用脚本连接到Radamsa,以便为每个连接接收一个模糊文件。
答案 2 :(得分:0)
好吧,我不认为它有一个可立即运行的实用程序,但是人们使用PIL(Python Imaging Library)来生成验证码,因此它可能会模糊图像。 (至少,假设我对“模糊”的定义是正确的,你的意思是为了某种目的在图像中添加随机噪声。)
当然,所有关于可立即运行的实用程序和生成模糊图像程序的讨论让我感到困惑。我想知道的是,为什么一切都是必要的?你有什么用例想要一个可以使程序模糊图像的程序,只需编写一个加载图像的脚本并使用PIL进行模糊测试就可以解决大多数实际问题?
答案 3 :(得分:0)
您可能想要考虑'引入Gimp!' [用那里的纸浆小说来解释......]