安装
系统环境:
- 主windows系统 + WSL2 + kali + docker desktop
- 使用docker版的AFL++
- 在kali环境中跑docker,其余工具放也在了kali中
具体配置参考教程: https://github.com/alex-maleno/Fuzzing-Module#
本次学习所用到的案例也是源于这个项目
目标
- 完成项目中的三个exercise来学习AFL++的用法
- 学会使用gbd分析崩溃
- 学会使用Sourcetrail工具阅读定位源码漏洞
- 完成上述三个小目标积累漏洞挖掘的前置学习工作
- 阅读AFL源码,了解其模糊测试原理
E1
第一个训练步骤教程写得非常详细了,跟着一步步走不会出错的,遇上的很多不懂的命令可以问AI
(结果花了一整体去配置这玩意。。。主要原因是docker不会用)
到了这步↓就算可以开始正式尝试使用AFL++了
运行教程的代码,成功弹出AFL的UI↓(图中已经是跑了一会了)
得到了三个崩溃,可以ctrl + c中断运行了,并得到了out文件↓
接下来就是分析这些个文件找到漏洞位置了(后续的gdb学习在跟上)
AFL源码阅读相关
太优雅了AFL
参看文章:
- AFL技术白皮书: https://guoxb.top/2023/06/20/Fuzz/AFL技术白皮书/
- AFL源码阅读: https://www.ruanx.net/afl-source-2/
使用工具:
- Sourcetrail —— 了解函数流程图
- VScode —— 函数源码阅读器
- Git —— 记录阅读的源码,笔记也写里面了
- 沉浸式翻译 —— 翻译
在这里留下你的足迹...