首页
论坛
课程
招聘
[分享]ubuntu16.04 fuzzing工具AFL安装使用以及问题解决
2020-9-6 14:08 4176

[分享]ubuntu16.04 fuzzing工具AFL安装使用以及问题解决

2020-9-6 14:08
4176

AFL安装

首先在github上下载afl
gitclone https://github.com/mirrorer/afl
然后运行
make
sudo make install
下来得设置一下core_pattern
sudo su
echo core >/proc/sys/kernel/core_pattern
到这一步有源码的算是安装成功了

有源码AFL插桩程序

先创建fuzz_in和fuzz_out两个文件夹
然后编辑一个简单的c语言程序

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<signal.h>
int fun(char *buf)
{
        if(buf[0]='a'&&strlen(buf)==5)
        raise(SIGSEGV);
}
int main()
{
        char buf[100]={0};
        gets(buf);
        printf(buf);
        fun(buf);
        return 0;
}

编译

对刚才的代码进行编译
afl-gcc -g -o test test.c
如果是c++则变为afl-g++
接下来在fuzz_in文件夹里面创建一个test文件 然后随便输入点东西

开始fuzz

afl-fuzz -i fuzz_in -o fuzz_out ./test
从fuzz_in中输入 输出在fuzz_out中
执行完后的页面
fuzz界面
对参数介绍一下
process timing
分别是运行时间 最后一次发现新执行路径时间 最后一次崩溃时间 最后一次超时时间
overall results
这里是 总周期数 总路径数 崩溃次数 超时次数
stage progress
这是fuzzing策略 进度 目标执行总次数 目标执行速度
上面需要注意的是三个参数
1.last new path:入伏哦报错需要及时修正命令行参数
2.cycles done:颜色是黄蓝绿变化 变绿就可以ctrl+c停止了
3.uniq crashes:是我们等会查看的crash的数量

crash分析

我们可以在fuzz_out的crashes文件夹里面看到我们需要分析的crash
crash文件
用xxd命令将文件的十六进制显示出来

 


我们可以看到三次crash的信息
分析一下这三次的情况
1.第一种是首字母为a并且字符串长度为6的异常退出
2.第二种是典型的栈溢出
3.第三种是而=格式化字符串
其实只要出现在这里面的就是一种漏洞情况 这样 我们的程序的漏洞已经被全部泄露出来了

无源码AFL插桩程序

我们依然用钢材的代码进行无源码测试 不过这次使用gcc编译
gcc -g -o test1 test.c
然后进入afl文件夹执行
cd qemu_mode
./build_qemu_support.sh
我们发现缺少库文件libtool

执行命令安装库文件
sudo apt-get install libtool-bin
继续执行发现缺少automake 继续下载就行

sudo apt-get install automake
运行发现还少bison 继续下载

sudo apt-get install bison
接下来发现害缺少库的话一个个安装就行 我这里只缺少这几个库 执行就ok啦 等待build完成后开始make
cd ..
sudo make install

开始fuzz

我们依然要创建fuzz_in fuzz_out两个文件夹
然后执行
afl-fuzz -i fuzz_in -o fuzz_out -Q ./test1
发现已经开始fuzz了

我们同样可以看到3个crash文件
(第一次发帖 都是简单的东西 以及碰到的问题解决)
参考


【看雪培训】《Adroid高级研修班》2022年春季班招生中!

最后于 2020-9-14 09:25 被Ring3编辑 ,原因:
收藏
点赞2
打赏
分享
最新回复 (3)
雪    币: 284
活跃值: 活跃值 (4442)
能力值: (RANK:310 )
在线值:
发帖
回帖
粉丝
0x2l 活跃值 4 2020-9-6 17:25
2
0
TQL
雪    币: 3481
活跃值: 活跃值 (2404)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
Ring3 活跃值 1 2020-9-6 18:08
3
0


最后于 2020-9-6 18:13 被Ring3编辑 ,原因:
雪    币: 3481
活跃值: 活跃值 (2404)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
Ring3 活跃值 1 2020-9-6 18:13
4
0
0x2l TQL
2l师傅带带我~
游客
登录 | 注册 方可回帖
返回