Hexo

  • 首页

  • 归档

利用afl进行二进制漏洞挖掘

发表于 2019-09-04

利用afl进行二进制漏洞挖掘

安装解压:

1
2
sudo apt-get install afl
tar -zxvf afl-latest.tgz

我们选择写个有栈溢出漏洞的程序

.来fuzz

代码如下:

vim test.c

1
2
3
4
5
6
7
8
9
10
11
#include"stdio.h"
#include"stdlib.h"
#include <unistd.h>
int main()

{ char buf[10];

gets(buf);
puts("ood!");
return 0;
}
1
afl-gcc test.c -o test

1567559804

先打开错误转储机制

echo core >/proc/sys/kernel/core_pattern

然后我们就可以用官方的测试用例进行fuzz

1
2
mkdir fuzz_out
afl-fuzz -i /root/pwn/afl-2.52b/testcases/others/text -o fuzz_out/ ./test

1567560269(1)

成功跑出一个crash,查看文件

1567560429(1)

是因为文件中的hello字符被语料库变异成TelTTTTTTTTTTTTTTTTTTTT,TTT的字符串过长导致栈溢出崩溃

① Process timing:Fuzzer运行时长、以及距离最近发现的路径、崩溃和挂起经过了多长时间。
② Overall results:Fuzzer当前状态的概述。
③ Cycle progress:我们输入队列的距离。
④ Map coverage:目标二进制文件中的插桩代码所观察到覆盖范围的细节。
⑤ Stage progress:Fuzzer现在正在执行的文件变异策略、执行次数和执行速度。
⑥ Findings in depth:有关我们找到的执行路径,异常和挂起数量的信息。
⑦ Fuzzing strategy yields:关于突变策略产生的最新行为和结果的详细信息。
⑧ Path geometry:有关Fuzzer找到的执行路径的信息。
⑨ CPU load:CPU利用率
最后就可以用GDB调试崩溃的程序啦。

二进制漏洞复现
逆向家长帮安卓app的sign算法
  • 文章目录
  • 站点概览

GD

a GOOD pwner
14 日志
  1. 1. 利用afl进行二进制漏洞挖掘
© 2019 GD
由 Hexo 强力驱动 v3.7.1
|
主题 – NexT.Muse v7.3.0