模糊测试命令行参数 [argv]

roo*_*ter 6 exploit reverse-engineering fuzzing argv american-fuzzy-lop

我有一个二进制文件,我一直在尝试使用 AFL 进行模糊测试,唯一的是 AFL 仅模糊 STDIN 和文件输入,并且该二进制文件通过其参数获取输入pass_read [input1] [input2]。我想知道是否有任何方法/模糊器允许以这种方式进行模糊测试?

我没有源代码,因此制作线束并不真正适用。

D S*_*iro 0

仅 Bash 解决方案

例如,让我们生成 10 个随机字符串并将它们存储在文件中

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 10 > string-file.txt
Run Code Online (Sandbox Code Playgroud)

接下来,让我们从字符串文件中读取 2 行并将其传递到我们的应用程序中

exec handle< string-file.txt

while read string1 <&handle ; do
        read string2 <&handle

        pass_read $line1 $line2 >> crash_file.txt
done

exec handle<&-
Run Code Online (Sandbox Code Playgroud)

然后,我们将所有崩溃存储在其中crash_file.txt以供进一步分析。

这可能不是最优雅的解决方案,但如果没有工具一定能满足当前的要求,也许您可​​以了解一些其他可能性