Fuzzing模糊测试入门-AFL工具的使用

找了个导师,研究这方面的试着学下看看,先把工具搞出来用用,我是初学者,欢迎私信交流,一起学习!

1. 模糊测试相关

1.1 AFL工具的使用

建议:AFL工具以及GEF插件均使用root用户安装,会少很多麻烦,gef插件安装多耗费我2天时间,最后也没弄明白,换成旧版本的很好用,也很好安装

所用虚拟机Ubuntu16

所有下载用到的资源放在了阿里云盘,用的exe压缩,zip不让分享,也可自己下载

1.1.1 下载模糊测试使用工具AFL

Bash
# 将AFL压缩包解压后,进入解压文件夹开始编译
sudo make
sudo make install

1.1.2 安装调试工具gef

Bash
# gef需要匹配gdb和python的版本,建议查清个人版本后前往github下载对应版本的gef
# 这里使用的是Ubuntu的16.0.4自带的gdb版本为7.11 python版本为3.5

# 下载好压缩包后上传至系统,进行解压
# 解压完成后,在根目录下输入
echo "source ~/SoftWare/gef/gef.py" > .gdbinit
# 注意 上面的路径为gef的具体路径
# .gdbinit相当于是全局环境变量
# 尽量不要乱动python自带的版本,升级后的安装十分麻烦,先能用就行了

1.1.3 模糊测试小案例

Bash
# 创建案例文件夹
mkdir fuzzing
# 编写模糊测试漏洞代码(自己百度找个,AFL案例网上很多)
vim test.c
# 创建输入和输出文件夹
mkdir fuzzing_in fuzzing_out
# 进入输入文件夹,输入测试案例
cd fuzzing_in
vim testcase
cd ../

# 插桩编译
afl-gcc test.c -o test

 

Bash
# 开始模糊测试
afl-fuzz -i fuzz_in -o fuzz_out ./test

Bash
# 切换到root用户下输入这行代码
echo core >/proc/sys/kernel/core_pattern
# 之后重复上一行命令
afl-fuzz -i fuzz_in -o fuzz_out ./test

理论上cycle done后边的数字变为绿色为结束

Bash
# 摁ctrl+c 强制退出后,进入crashes目录查看
cd fuzz_out/crashes/

Bash
# 使用gdb进入调试窗口
gef -q ../../test
# 之后查看详细情况
r < id:000000,sig:06,src:000000,op:havoc,rep:128
# 里面会出现寄存器、堆栈等等出现问题的地方,刚学暂时还不会看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值