我有一个二进制文件,我一直在尝试用AFL进行模糊处理,唯一的事情是AFL仅使STDIN和文件输入模糊化,并且此二进制文件通过其参数pass_read [input1] [input2]
接受输入。我想知道是否有任何方法/模糊器允许以这种方式进行模糊检测?
我没有源代码,因此制作线束实际上并不适用。
答案 0 :(得分:1)
AFL的创建者Michal Zalewski在此post中声明:
AFL不支持argv模糊测试,因为TBH只是在 实践。实验/ argv_fuzzing /中有一个示例,展示了如何执行此操作 一般情况下,如果您确实愿意。
链接到GitHub上的示例:https://github.com/google/AFL/tree/master/experimental/argv_fuzzing
文件argv-fuzz-inl.h中有一些说明(我自己还没有尝试过)。
答案 1 :(得分:0)
纯现金解决方案
例如,让我们生成10个随机字符串并将其存储在文件中
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 10 > string-file.txt
接下来,让我们从字符串文件中读取2行并将其传递到我们的应用程序中
exec handle< string-file.txt
while read string1 <&handle ; do
read string2 <&handle
pass_read $line1 $line2 >> crash_file.txt
done
exec handle<&-
然后,我们会将所有崩溃信息存储在crash_file.txt
中,以供进一步分析。
这可能不是最优雅的解决方案,但是如果没有一种工具可以满足当前的要求,也许您会给您带来其他可能性的想法