信息系统安全——基于 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 足够多,结果中会包含大多数可能出现的漏洞类型,比如数组溢出、格式化字符串漏洞等。这些结果对分析程序的安全性有很大的参考价值。

相关推荐
彭波3964 小时前
.NET Framework 3.5问题修复教程!可以离线修复
windows·安全·电脑·.net·开源软件
黄焖鸡能干四碗6 小时前
网络安全建设实施方案(Word文件参考下载)
大数据·网络·人工智能·安全·web安全·制造
hzhsec6 小时前
MSF-CobaltStrike实现内网socks代理转发上线
服务器·网络·安全·网络安全
xixixi777777 小时前
2026 年 03 月 20 日 AI+通信+安全行业日报(来更新啦)
大数据·人工智能·安全·ai·大模型·通信
SuperEugene8 小时前
TypeScript+Vue 实战:告别 any 滥用,统一接口 / Props / 表单类型,实现类型安全|编码语法规范篇
开发语言·前端·javascript·vue.js·安全·typescript
always_TT9 小时前
字符串输入:gets vs fgets(安全问题)
数据库·安全
努力的lpp10 小时前
2024小迪安全课程第三节复习笔记
笔记·安全
新手886010 小时前
Oracle VirtualBox虚拟机安装 和 安装 window11版本虚拟机 及 启用EFI和硬盘无法使用 问题
服务器·windows·计算机网络·安全·虚拟机
ALex_zry11 小时前
Docker Compose 配置文件完全指南:从基础到生产级安全实践
服务器·安全·docker
EnCi Zheng12 小时前
J7A-已有数据表如何安全添加新字段 [特殊字符]️
数据库·安全·oracle