信息系统安全——基于 AFL 的模糊测试

实验 3 基于 AFL 的模糊测试

3.1 实验名称

《基于 AFL 的模糊测试》

3.2 实验目

1 、熟悉模糊测试方法

2 、熟悉模糊测试工具 AFL 的使用

3.3 实验步骤及内容

1 、 安装 AFL

2 、 任意选择一个有源代码的样本

这里采用教材上一个包含栈溢出漏洞的样本。

3 、 结合源代码分析用 AFL 进行模糊测试后的结果,将主要步骤和分析结果记录到实验报告中,可截图说明。
首先是用 afl-gcc 编译并插桩。

接着是用 afl-fuzz 进行模糊测试。

在 cycles done 变成绿色之后可以停止。可以看到检测出了两条路径和一个 crash

crashes 存储了导致崩溃或异常的测试用例,queue 存储了不同路径的测试用例,plot_data 是对测试结果的可视化。

进入 crashes 目录,使用xxd 可以看到导致崩溃的测试用例。显然这里是因为数组越界导致的溢出。

3.4 实验关键过程及其分析

在使用 afl 模糊测试时,crashes 目录会记录导致崩溃的输入。如果积累的 crashes 足够多,结果中会包含大多数可能出现的漏洞类型,比如数组溢出、格式化字符串漏洞等。这些结果对分析程序的安全性有很大的参考价值。

相关推荐
zyplayer-doc21 小时前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新
天天讯通1 天前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别
志栋智能1 天前
超自动化运维如何提升安全合规水平?
运维·安全·自动化
IT新视界1 天前
星环科技ArgoDB:基于一体化架构构建数据全生命周期安全底座
数据库·科技·安全·架构
TechWayfarer1 天前
查IP归属地接入实战:保险理赔如何做动态风险监控与预警
网络·python·tcp/ip·安全·flask
vortex51 天前
Linux进程权限继承研究:从setuid()到exec()与system()的行为差异
linux·服务器·系统安全·suid
Hello:CodeWorld1 天前
【C++ 避坑指南】告别缓冲区溢出!全面解析 std::snprintf 的安全美学与核心陷阱
开发语言·c++·安全
暮云星影1 天前
瑞芯微rk3566开发FIT Secure Boot
linux·arm开发·驱动开发·安全
网络研究院1 天前
美国网络安全趋势与发展
网络·安全·美国·趋势·发展
AI78401 天前
安全左移:网络安全从“亡羊补牢”走向“未雨绸缪”
网络·安全·web安全