Archive

Posts Tagged ‘afl-fuzz’

afl-fuzz vs. mozjs: 1st round.

August 13th, 2015 No comments

第一轮, 随机从 mozilla-central 的回归测试集中选择了几个js文件, 没有使用字典, 默认 afl-fuzz 配置.

结果: 一个 crash 都没有发现.

分析: 这个是合理的. 没有字典直接 Fuzz, 绝大部分都过不了前端的 Parser. (绝大部分的意思是我没有做统计, 直观猜测的)

afl-fuzz-vs-mozjs

American Fuzzy Lop (afl-fuzz) vs. John Regehr

August 6th, 2015 No comments

afl-fuzz[1] 是一个很不错的 fuzzer. 而 John Regehr 大牛觉得有些方面还是不行, 于是写了一篇博客[2], 给出来一个 C 程序, 吐槽了一把.

C 程序是这样子的:

这里的触发 crash 的输入需要触发 n + 1000000 == 0, 进而触发一个 3 / 0 的除法错误.

No Data, No Talk. 我跑了下这个 testcase. 你猜怎么着? 竟然给 afl-fuzz 随机试出来了 🙂

afl-fuzz found the bug (finally)

 

afl-fuzz 给出来的 input 是这样子的:

-1000000#23#

后面的 #23# 不知道怎么出来的, 不相关, 前面的 -1000000 是正确答案.

尝试了 125 万次, 跑了7天. 嗯. John Regehr 说的也是对的, 在这个 Case 中, 路径覆盖没有帮上忙, 基本上都是纯随机在暴力搜索.

 

[1] http://lcamtuf.coredump.cx/afl/

[2] http://blog.regehr.org/archives/1238