0x00
模糊测试简介:
一类随机生成测试数据的软硬件测试,简化了生成输入测试的难题,只需要软件的对外接口,通过接口传递的测试数据来查找漏洞,不需要了解软件内部内部的运作及输入数据的结构。现在模糊测试不止用于使用随机生成的数据作为输入的测试手段,更多描述为通过多种方式来验证输入的安全性。
0x01
模糊测试器的类型:
1、数据变异模糊测试器,即哑模糊测试器。是最原始的模糊测试器,思想为随机生成输入数据进行测试。名称来源为:以随机方式改变(变异)输入数据,变异后的数据作为目标软件的输入来尝试触发软件崩溃。
2、数据生成模糊测试器,基于语法的测试或白盒测试。此类方法需要了解目标软件的内部工作机制,不需要有效输入数据或协议捕获的样本,是通过描述数据/协议结构的数据模型来生成测试用例,这些模型一般被编写成配置文件,文件格式取决于使用这些模型的模糊测试工具。此类模糊测试器的难点在于编写数据模型。
3、遗传(进化)模糊测试器,遗传模糊测试器注意将进入新代码块的输入变异并将注意到的输入变异保存到测试体中,根据测试体中保存的输入变异使用‘自适应’的方式进行学习生成测试数据。
0x02
Peach数据变异模糊测试器的使用:
Peach框架可在Windows、Linux和Mac OS X操作系统中使用,在Linux和Mac OS X操作系统中使用Mono的跨平台.NET开发框架来运行Peach。本章节此处环境Windows 10的64位版本。
数据变异模糊测试器的测试无其他复杂性,只需要输入一组变异样本到程序中即可开始模糊测试。
使用Peach开始测试前需要先创建一个Pit文件即包含模糊测试会话全部配置信息的XML文档。该配置文件包含的信息有:
通用配置:定义了与模糊测试参数无关的配置(如Python路