主要观点:在被封锁在家的情况下,写一个简单的模糊测试器是不错的选择,虽不是用于实际目标,但有助于理解。同时指出要借鉴他人文章并加以改进,且强调学习过程中要选择合适目标和语言。
关键信息:
- 介绍了模糊测试的基本原理,即向程序输入随机数据看是否崩溃并不断改变数据。
- 详细说明了模糊器的主要部分,包括变异引擎和执行引擎。变异引擎通过多种方式修改数据,执行引擎使用
ptrace
运行目标程序并监测崩溃。 - 提及已运行模糊器得到 7810 次崩溃,后续将改进以更好确定崩溃的唯一性和实现基本的代码覆盖测量。
重要细节: - 选择用 Python 编写模糊器是因为学习目的,且选择
exif
库作为目标,因其多年前编写可能易崩溃。 - 变异引擎中通过
FLIP_RATIO
确定修改字节的数量和位置,有位翻转和魔法值两种修改方式。 - 执行引擎使用
ptrace
监控SIGSEGV
信号来检测崩溃,将导致崩溃的文件保存。 - 后续将在代码覆盖等方面进行改进,目前模糊器主要靠运气。
- 代码可在这里获取,系列下一部分在这里。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。