fuzzer AFL 源码分析(四)-监控

f1tao / 2022-11-15

上一部分对afl如何实现反馈进行了较为详细的介绍,本文将对afl如何实现监控进行分析。监控是指afl能够成功运行目标程序、获取目标程序的反馈信息(运行状态)并判定此次运行是否有效(此次运行的样例是否增加了模糊测试的覆盖率、是否崩溃或超时),以更有效的指导下一次模糊测试及保存崩溃。

fuzzer AFL 源码分析(五)-变异

f1tao / 2022-11-02

前面几篇文章将afl的大部分内容都已经覆盖到了(编译、反馈到监控),最后一个部分主要讲afl是如何挑选样本并针对样本的数据进行变异的。通过之前的分析我们已经知道,编译的种子通过链表的形式形成种子队列,种子经过变异后如果能够触发目标程序新的行为,会作为新的种子队列存入到链表中。但是对于新一轮的模糊测试,挑选哪个种子进行变异以及如何变异尚未解决,本文主要阐述afl是如何挑选种子进行变异以及如何变异。

fuzzer AFL 源码分析(三)-反馈

f1tao / 2022-09-26

上一部分对afl-fuzz的总流程进行了概要性的阐述,接下来将会对关键的代码模块进行详细的分析。

先对afl-fuzz过程中反馈与监控机制的实现进行分析,反馈是指afl在对目标程序的模糊测试过程中,目标程序可以将本次运行过程中的状态反馈给afl。本文主要介绍该afl是如何具体实现分支信息的记录以及更高效的运行目标程序的。

fuzzer AFL 源码分析(二)-fuzz流程

f1tao / 2022-09-01

第一部分介绍了afl插桩编译的过程,思考了很久才定下第二部分写些什么。本来打算第二部分详细解释插桩部分和forkserver的代码的,但是感觉如果对afl-fuzz的整体流程没有大致掌握的话,直接去描述细节会让人不理解为什么afl这部分要这样去设计,因此决定在第二部分将afl-fuzz的主要流程(main)和部分不是关键代码的函数给说清楚,后续再逐步对关键代码模块进行详细分析,j继而实现对afl模糊测试的解析。

fuzzer AFL 源码分析(一)- 编译

f1tao / 2022-05-23

学习经典的fuzz框架AFL,通过源码的阅读学习fuzz,为以后针对特定目标进行模糊测试打下基础。

AFL的基础使用可以去看通过afl-training学习afl,具体的使用不再进行说明。

f1tao

努力的最坏结果,不过是大器晚成。

随机分类

硬件与物联网 文章:40 篇
逻辑漏洞 文章:15 篇
Android 文章:89 篇
企业安全 文章:40 篇
浏览器安全 文章:36 篇

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

0

0x0dee

标题写错了,是ASX to MP3 3.1.3.7 - '.m3u' Local

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取