最近在使用AFL工具做模糊测试工作,今天将AFL安装过程详细的记录下来。我选择的服务器是阿里云服务器。
一、程序介绍
AFL是一种面向安全的模糊器,它采用新型的编译时检测和遗传算法来自动发现有趣的测试用例,这些用例会触发目标二进制文件中的新内部状态。这大大改善了模糊代码的功能覆盖范围。该工具生成的紧凑的合成语料库还可用于播种其他更耗费人力或资源的测试方案。[1]
二、安装过程
- 下载安装包
使用wget https://lcamtuf.coredump.cx/afl/releases/afl-latest.tgz
将最新版的AFL安装包下载到服务器的任一地址。 - 解压安装包
使用tar -zxvf afl-latest.tgz
解压安装包。 - 切换到
afl-2.52b
目录下
cd afl-2.52b
- 使用
ls
指令浏览当前的文件目录文件,可以得到如下图所示的文件目录
下图中,存在有MakeFIle文件,所以我们可以直接执行make; make install
进行安装
错误信息
执行make ;make install
指令后,出现/bin/sh: cc: command not found
错误,具体错误细节请看下图,引起这个错误的原因是:服务器中没有安装GCC环境,所以使用yum
安装GCC
解决方法
执行yum -y install gcc gcc-c++ libstdc++-devel
指令,执行完毕,输入rpm -qa|grep gcc
查看是否安装成功,出现下图中的信息,表示安装成功。
- 继续安装
继续使用make;make install
指令进行安装,提示成功安装,安装之后,输入afl-fuzz
,然后按下回车键,出现下图所示代表安装成功。
到了最后,AFL成功安装,因为最近在研究AFL的使用包括一些源码的阅读,所以后续会持续记录一些AFL的学习心得,希望AFL大佬能为我敞开大门。