AFL常用指令小总结

最近学习afl_fuzz的内容,对所使用的指令进行一点点总结,供各位参考。

编译指令

1、存在makefile

修改makefile环境变量CC CXX(修改对应afl安装路径即可)

export CC=/home/kali/AFL/afl-clang-fast
export CXX=/home/kali/AFL/afl-clang-fast++

可以通过修改configure文件指定目标目录

./configure --prefix="$HOME/example/install/"

修改完成直接

make
make install

如果改回gcc编译,使用如下指令清理afl编译文件,并修改makefile

make clean
rm -r $HOME/example/install/
FLAGS="-g -O0" CXXFLAGS="-g -O0"

2、只有c文件

编译时将gcc改为afl-gcc即可,其余指令与gcc同

afl-gcc -g -o 123 ./123.c

也可以在前面启用选项AFL_USE_ASAN=1启用 ASAN

AFL_USE_ASAN=1 afl-gcc -g -o 123 ./123.c

3、运行afl-fuzz

指定崩溃管理

sudo su
echo core >/proc/sys/kernel/core_pattern
exit

基本语法

afl-fuzz -i ./fuzzin -o ./fuzzout ./123

调用afl-fuzz程序
-i 选项给定输入文件的目录,作为种子使用
-o 选项指定输出crash目录
最后的参数制定fuzz目标,其后可以跟上该程序(123)的参数

其他常用选项

-m 选项指定内存限制,由于ASAN的使用可能导致内存消耗过大,一般用作解除限制

afl-fuzz -m none -i ./fuzzin -o ./fuzzout ./123

-s 选项指定变异种子,可自定义

afl-fuzz -i ./fuzzin -o ./fuzzout -s 456 ./123

@@ 代指程序的输入文件目录。下面实例假设123程序有文件位置作为参数输入,afl-fuzz会自动填充

afl-fuzz -i ./fuzzin -o ./fuzzout ./123 @@

-M -S 选项指定 主fuzzer 和 从fuzzer ,用于多线程的fuzz
主fuzzer只能使用一个

afl-fuzz -M father_fuzzer -i ./fuzzin -o ./fuzzout ./123

从fuzzer可以指定有限多个

afl-fuzz -S fuzzer1 -i ./fuzzin -o ./fuzzout ./123
afl-fuzz -S fuzzer2 -i ./fuzzin -o ./fuzzout ./123

-x 选项指定字典路径,用于某些特定格式文件的fuzz,让变异结果更加的“合理”

afl-fuzz -x ./sample.dict -i ./fuzzin -o ./fuzzout ./123

-D 选项启用确定性突变(仅主fuzzer有效)

afl-fuzz -D -i ./fuzzin -o ./fuzzout ./123

-t 选项指定时间,可以一定程度上加快速度

afl-fuzz -t 100 -i ./fuzzin -o ./fuzzout ./123

4、其他常见问题

./fuzzout 目录没访问权限?

给它!这可能kali是权限管理的锅

sudo chmod -R 777 ./fuzzout

报错如下?

kali下的问题
直接进入root修改

sudo su
cd /sys/devices/system/cpu
echo performance | tee cpu*/cpufreq/scaling_governor
exit

5、开始fuzz!

成功开跑!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值