C AFL";(奇数,检查语法!)”;
我试图使用fuzz并注意到我看到了C AFL";(奇数,检查语法!)”;,c,warnings,fuzzing,pngquant,american-fuzzy-lop,C,Warnings,Fuzzing,Pngquant,American Fuzzy Lop,我试图使用fuzz并注意到我看到了奇怪的检查语法警告。A表示AFL可能没有读取我指定的输入文件。我可以调用pngquant,方法是提供位于我使用AFL进行模糊处理时使用的相同输入示例目录中的png文件 我执行的AFL命令是: afl-fuzz -i ./in-filtered -o ./out -x ./dictionary/png.dict -- pngquant @@ 文章提到,odd,检查语法当AFL无法找到新路径时,可能会弹出警告 此外,我注意到,一旦AFL开始使用havoc模糊策略,
奇怪的检查语法代码>警告。A表示AFL可能没有读取我指定的输入文件。我可以调用pngquant
,方法是提供位于我使用AFL进行模糊处理时使用的相同输入示例目录中的png文件
我执行的AFL命令是:
afl-fuzz -i ./in-filtered -o ./out -x ./dictionary/png.dict -- pngquant @@
文章提到,odd,检查语法代码>当AFL无法找到新路径时,可能会弹出警告
此外,我注意到,一旦AFL开始使用havoc
模糊策略,就会弹出警告,下面的图像显示,当模糊器开始使用havoc
时,循环计数开始增加
这是因为pngquant的使用不正确
使用pngquant时,它会生成一个包含结果的输出文件,如果执行两次,则会遇到错误:
➜ 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模糊。但是,请注意,这会产生大量IO。因此,请尝试使用/dev/null
或类似技巧来规避此问题
快乐的绒毛