![](/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.