Featured image of post Fuzzing笔记

Fuzzing笔记

工具

AFL++

编译获取可被测试的程序

1
2
export AFL_USE_ASAN=1
afl-gcc -fsanitize=address -o test test.c

afl-as会执行函数add_instrumentation()进行插桩,最后执行as做汇编,产生的test文件是插桩版本

1
objdump -M intel -d test | grep __afl

可查看许多__afl前缀的函数

模糊测试

1
2
3
afl-fuzz -i seed-dir -o out-dir -m none ./test
# -i 测试用例 -o 结果 -f 指定文件读取输入 -t 超时
# -m 内存限制 -d 突变阶段跳过最初处理 -n 对无插桩目标进行fuzz

可在crashes目录中查看成功测试

Licensed under CC BY-NC-SA 4.0
Built with Hugo
主题 StackJimmy 设计
Caret Up