首页 > 其他 > 详细

【AFL(一)】入门小白第一次测试

时间:2019-10-25 19:13:38      阅读:277      评论:0      收藏:0      [点我收藏+]

引用师兄的话“一个AFL最简化的流程  ”fuzz+分析crash“就是这样入门的~”


第一步:安装 AFL

这一步其实没啥说的,就是官网下载最新版本,http://lcamtuf.coredump.cx/afl/

技术分享图片

 

 

然后解压,之后安装

make
sudo make install 

第二步:插桩编译测试

写个c程序afl_test.c,准备编译,代码如下:

#include <stdio.h> 
int main(int argc, char *argv[])
{
    char buf[100]={0};
    gets(buf);//存在栈溢出漏洞
    printf(buf);//存在格式化字符串漏洞
    return 0;
}

使用命令 afl-gcc -g -o afl_test afl_test.c 编译

成功之后创建两个文件夹,结果如图:

技术分享图片

 

【注】这里是插桩编译,之前以为会在之后fuzz的时候变,但是实际上不会变,引用师兄:“咱们习惯把afl_test称为 fuzzer,就是一种fuzz的“驱动器”,这个fuzzer是不变的0.0”


第三步:开始Fuzz

输入指令:afl-fuzz -i fuzz_in -o fuzz_out ./afl_test 开始fuzz

这时候应该会出现一些问题

技术分享图片

 

 

 解决方案

1.查看报错,发现有个问题,需要 core_pattern

2.切换root

3.按提示输入指令切换 echo core >/proc/sys/kernel/core_pattern

4.重新输入指令 afl-fuzz -i fuzz_in -o fuzz_out ./afl_test

正常界面

技术分享图片

 

当如图界面,框中显示2的时候,可以 CTRL + C 停止


第四步:分析crash

技术分享图片

 

 使用xxd命令查看crash内容。

 

挖坑,之后搞明白之后分析AFL界面给部分是干嘛的,还有就是crash的分析

【AFL(一)】入门小白第一次测试

原文:https://www.cnblogs.com/wayne-tao/p/11739420.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!