目录
译者序 V
前言 IX
原书序 XI
致谢 XV
关于作者 XVII
第一部分 基础知识
第1章 安全漏洞发现方法学 2
1.1 白盒测试 3
1.2 黑盒测试 8
1.3 灰盒测试 12
1.4 小结 16
第2章 什么是模糊测试 17
2.1 模糊测试的定义 17
2.2 模糊测试的历史 18
2.3 模糊测试各阶段 22
2.4 模糊测试的局限性和期望 24
2.5 小结 27
第3章 模糊测试方法与模糊测试器 类型 28
3.1 模糊测试方法 28
3.2 模糊测试器类型 31
3.3 小结 39
第4章 数据表示和分析 40
4.1 什么是协议 40
4.2 协议中的字段 41
4.3 简单文本协议(PLAIN TEXT PROTOCOLS) 43
4.4 二进制协议 44
4.5 网络协议 47
4.6 文件格式 48
4.7 常用协议元素 51
4.8 小结 52
第5章 有效模糊测试的需求 53
5.1 可重现性与文档 53
5.2 可重用性 54
5.3 过程状态和过程深度 55
5.4 跟踪、代码覆盖和度量 58
5.5 错误检测 58
5.6 资源约束 60
5.7 小结 60
第二部分 目标与自动化
第6章 自动化与数据生成 62
6.1 自动化的价值 62
6.2 有用的工具和库 63
6.3 编程语言的选择 66
6.4 数据生成与模糊试探值(FUZZ HEURISTICS) 66
6.5 小结 75
第7章 环境变量与参数模糊测试 76
7.1 本地模糊测试介绍 76
7.2 本地模糊测试原则 78
7.3 寻找测试目标 79
7.4 本地模糊测试方法 82
7.5 枚举环境变量 83
7.6 自动化的环境变量模糊测试 84
7.7 检测问题 86
7.8 小结 88
第8章 自动化的环境变量与参数模糊测试 89
8.1 IFUZZ本地模糊测试器的功能 89
8.2 开发IFUZZ工具 91
8.3 IFUZZ使用的编程语言 95
8.4 案例研究 96
8.5 优点与改进 97
8.6 小结 98
第9章 WEB应用与服务器模糊测试 99
9.1 什么是WEB应用模糊测试 99
9.2 测试目标 102
9.3 测试方法 104
9.4 漏洞 116
9.5 异常检测 119
9.6 小结 120
第10章 WEB应用和服务器的自动化模糊测试 121
10.1 WEB应用模糊测试器 122
10.2 WEBFUZZ的特性 124
10.3 必备的背景信息 128
10.4 开发WEBFUZZ 131
10.5 案例研究 139
10.6 优点与可能的改进 148
10.7 小结 149
第11章 文件格式模糊测试 150
11.1 测试目标 151
11.2 测试方法 152
11.3 测试输入 154
11.4 安全漏洞 155
11.5 检测错误 158
11.6 小结 159