![](/img/trans.png)
[英]AFL only explores 1 path and nothing more! ( last new path : none yet (odd, check syntax!) )
[英]AFL "(odd, check syntax!) "
我正在尝试使用AFL对pngquant进行模糊测试,并注意到我看到了odd, check syntax!
警告。 之前的回答说 AFL 可能没有读取我指定的输入文件。 我可以通过提供位于我在使用 AFL 进行模糊测试时使用的相同输入示例目录中的 png 文件来调用pngquant
。
我执行的 AFL 命令是:
afl-fuzz -i ./in-filtered -o ./out -x ./dictionary/png.dict -- pngquant @@
AFL 文档提到odd, check syntax!
当 AFL 无法找到新路径时,可能会弹出警告。
此外,我注意到一旦 AFL 开始使用havoc
模糊测试策略就会弹出警告,下图显示一旦模糊器开始使用havoc
循环计数就开始增加。
这是因为 pngquant 的使用不正确。
使用 pngquant 时,它会生成一个包含您的结果的 output 文件,当您执行两次时,您会遇到错误:
➜ pngquant git:(master) ✗ ./pngquant ./test/img/metadata.png
➜ pngquant git:(master) ✗ ./pngquant ./test/img/metadata.png
error: './test/img/metadata-fs8.png' exists; not overwriting
AFL 没有机会探索目标,因为它每次都被阻止。
快速浏览后,最简单的修复是这样的:
afl-fuzz -i ./in -o ./out -- ./pngquant -f -- @@
这会强制 pngquant 覆盖结果文件,从而启用 afl-fuzz。 但是,请注意这会产生很多 IO。因此请尝试使用/dev/null
或类似技巧来规避此问题。
快乐的模糊测试!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.