在对源码进行重新编译之后,使用如下命令用AFL对其进行fuzz:
其中, fuzz_in 为输入数据所在文件夹, @@ 表示从文件读取输入。但是这里的输入是在fuzz_in文件夹下,因此命令行写@@,程序会在 / 下找输入,找不到自然不会出现正确结果。
下面对界面进行简单的介绍:
process timing
这里展示了当前fuzzer的运行时间、最近一次发现新执行路径的时间、最近一次崩溃的时间、最近一次超时的时间。
值得注意的是第2项,最近一次发现新路径的时间。如果由于目标二进制文件或者命令行参数出错,那么其执行路径应该是一直不变的,所以如果从fuzzing开始一直没有发现新的执行路径,那么就要考虑是否有二进制或者命令行参数错误的问题了。对于此状况,AFL也会智能地进行提醒
overall results
这里包括运行的总周期数、总路径数、崩溃次数、超时次数。
其中,总周期数可以用来作为何时停止fuzzing的参考。随着不断地fuzzing,周期数会不断增大,其颜色也会由洋红色,逐步变为**、蓝色、绿色。一般来说,当其变为绿色时,代表可执行的内容已经很少了,继续fuzzing下去也不会有什么新的发现了。此时,我们便可以通过Ctrl-C,中止当前的fuzzing
stage progress
这里包括正在测试的fuzzing策略、进度、目标的执行总次数、目标的执行速度
执行速度可以直观地反映当前跑的快不快,如果速度过慢,比如低于500次每秒,那么测试时间就会变得非常漫长。如果发生了这种情况,那么我们需要进一步调整优化我们的fuzzing
要提高AFL测试效率,可以使用并发测试。
查看自己机器CPU cores:
通过afl-whatsup命令查看总体测试情况:
以上就是关于AFL测试过程中出现“last new path : none yet (odd, check syntax!)”全部的内容,包括:AFL测试过程中出现“last new path : none yet (odd, check syntax!)”、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)