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

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 13:00:02       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 13:00:02       107 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 13:00:02       90 阅读
  4. Python语言-面向对象

    2024-01-10 13:00:02       98 阅读

热门阅读

  1. vue computed计算不到数组或者对象的变化

    2024-01-10 13:00:02       52 阅读
  2. 认识do-while循环

    2024-01-10 13:00:02       55 阅读
  3. 理解并使用ThreadLocal实现线程级别的数据隔离

    2024-01-10 13:00:02       53 阅读
  4. 独立站营销:那些适合海外推广的视频平台!

    2024-01-10 13:00:02       64 阅读
  5. vue路由及参数router

    2024-01-10 13:00:02       53 阅读