模糊测试教程之浅记录一次Fuzzing挖洞实战

Posted 鸿渐之翼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模糊测试教程之浅记录一次Fuzzing挖洞实战相关的知识,希望对你有一定的参考价值。

敬告:
《中华人民共和国刑法》第三百八十六条【破坏计算机系统罪;网络服务渎职罪】违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
违反国家规定,对计算机系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款规定处罚。
故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后严重的,依照第一款规定处罚。
单位犯前三款罪的,对单位判处罚金,对其直接负责的主管人员和其他直接负责人员,依照第一款的规定处罚。

免责声明:
本博文仅供安全研究与教学之用,使用者将其信息做其他用途,由使用者承担全部法律及连带责任,CSDN博客平台及博主鸿渐之翼不承担任何法律及连带责任。声明:本文仅供开发者与信息安全从业者学习参考,请遵守行业道德底线。

实验平台:ubuntu Linux
实验工具:AFL gcc clang LLVM

AFL安装教程:

wget http 
://lcamt​​uf.coredump.cx/afl/releases/afl-latest.tgz tar -xzvf afl-latest.tgz 
cd afl-2.52b/ 
make 

AFL 利用LLVM功能可以提高模糊测试效率。
LLVM的命名最早源自于底层虚拟机器(Low Level Virtual Machine)
LLVM最初被用来取代GCC中的程式码产生器[16],许多GCC的前端已经可以与其运行,LLVM目前支援Ada、C语言、C++、D语言、Fortran、Haskell、Julia、Objective-C、Rust及Swift的编译,它使用许多的编译器,有些来自4.0.1及4.2的GCC。
此处参考维基百科wikipedia

安装LLVM

cd afl-2.51b/llvm_mode/ 
sudo apt-get install llvm-dev llvm 
make 
cd .. 
make 
sudo make install

设置目标
这是我测试的程序,这里放一张图:
我们将测试的程序文件fuzzgoats放到下载好的afl-2.5b目录下


使用 AFL 的编译器编译应用程序,我们必须明确提及使用哪一个。通常使用afl-clang-fast但也可以使用afl-clang-fast++,afl-gcc或afl-g++取决于用例。我们将使用afl-clang-fast:

make CC=afl-clang-fast

细心的你会发现这里有几个文件夹,他们分别是afl_out,afl_in
afl_out :

TMD跑程序ing,明天在写博客

以上是关于模糊测试教程之浅记录一次Fuzzing挖洞实战的主要内容,如果未能解决你的问题,请参考以下文章

知识普及:关于Fuzzing模糊测试入门原理及实践的讨论

Go Fuzzing已经进入Beta测试阶段

模糊测试之实例讲解

剑指安全之巅:知识普及之浅谈模糊测试,深入安全漏洞挖掘方法

第一次ActiveX Fuzzing测试

Go中fuzzing系统的原理分析