图书介绍

模糊测试 强制发掘安全漏洞的利器PDF|Epub|txt|kindle电子书版本网盘下载

模糊测试 强制发掘安全漏洞的利器
  • (美)萨顿,(美)格林,(美)阿米尼著;段念,赵勇译 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121210839
  • 出版时间:2013
  • 标注页数:532页
  • 文件大小:219MB
  • 文件页数:563页
  • 主题词:软件工具-测试

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

模糊测试 强制发掘安全漏洞的利器PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 基础知识2

第1章 安全漏洞发现方法学2

1.1 白盒测试3

1.1.1 代码评审(Source Code Review)3

1.1.2 工具与自动化5

1.1.3 优点和缺点7

1.2 黑盒测试8

1.2.1 手工测试8

1.2.2 自动化测试或模糊测试10

1.2.3 优点和缺点11

1.3 灰盒测试12

1.3.1 二进制审计12

1.3.2 自动化的二进制审计15

1.3.3 优点和缺点15

1.4 小结16

第2章 什么是模糊测试17

2.1 模糊测试的定义17

2.2 模糊测试的历史18

2.3 模糊测试各阶段22

2.4 模糊测试的局限性和期望24

2.4.1 访问控制漏洞25

2.4.2 糟糕的设计逻辑25

2.4.3 后门26

2.4.4 破坏26

2.4.5 多阶段安全漏洞(MuliStage Vulnerability)27

2.5 小结27

第3章 模糊测试方法与模糊测试器类型28

3.1 模糊测试方法28

3.1.1 预生成测试用例29

3.1.2 随机生成输入29

3.1.3 手工协议变异测试30

3.1.4 变异或强制性测试30

3.1.5 自动协议生成测试31

3.2 模糊测试器类型31

3.2.1 本地模糊器31

3.2.2 远程模糊测试器34

3.2.3 存模糊测试器37

3.2.4 模糊测试框架38

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.7.1 名字-值对51

4.7.2 块识别符51

4.7.3 块大小52

4.7.4 校验和52

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

第二部分 目标与自动化62

第6章 自动化与数据生成62

6.1 自动化的价值62

6.2 有用的工具和库63

6.2.1 ETHEREAL/WIRESHARK64

6.2.2 LIBDASM和LIBDISASM64

6.2.3 LIBNET/LIBNETNT64

6.2.4 LIBPCAP65

6.2.5 METRO PACKET LIBRARY65

6.2.6 PTRACE65

6.2.7 PYTHON扩展65

6.3 编程语言的选择66

6.4 数据生成与模糊试探值(Fuzz Heuristics)66

6.4.1 整数值68

6.4.2 字符串重复(String Repetitions)70

6.4.3 字段分隔符71

6.4.4 格式字符串73

6.4.5 字符翻译73

6.4.6 目录遍历74

6.4.7 命令注入75

6.5 小结75

第7章 环境变量与参数模糊测试76

7.1 本地模糊测试介绍76

7.1.1 命令行参数76

7.1.2 环境变量77

7.2 本地模糊测试原则78

7.3 寻找测试目标79

7.3.1 UNIX文件权限释义81

7.4 本地模糊测试方法82

7.5 枚举环境变量83

7.5.1 GNU调试器(GNU Debug,GDB)法83

7.6 自动化的环境变量模糊测试84

7.6.1 库预加载(Library Preloading)85

7.7 检测问题86

7.8 小结88

第8章 自动化的环境变量与参数模糊测试89

8.1 iFUZZ本地模糊测试器的功能89

8.2 开发iFUZZ工具91

8.2.1 开发方法92

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.3.1 设置目标环境104

9.3.2 输入105

9.4 漏洞116

9.5 异常检测119

9.6 小结120

第10章 Web应用和服务器的自动化模糊测试121

10.1 Web应用模糊测试器122

10.2 WebFuzz的特性124

10.2.1 请求124

10.2.2 模糊变量125

10.2.3 响应126

10.3 必备的背景信息128

10.3.1 识别请求128

10.3.2 检测响应128

10.4 开发WebFuzz131

10.4.1 思路131

10.4.2 选择编程语言131

10.4.3 设计131

10.5 案例研究139

10.5.1 目录遍历(Directory Traversal)139

10.5.2 溢出140

10.5.3 SQL注入143

10.5.4 XSS脚本145

10.6 优点与可能的改进148

10.7 小结149

第11章 文件格式模糊测试150

11.1 测试目标151

11.2 测试方法152

11.2.1 强制或基于变异的模糊测试152

11.2.2 智能强制或基于生成的模糊测试154

11.3 测试输入154

11.4 安全漏洞155

11.4.1 拒绝服务(Daniel ofService,DoS)155

11.4.2 整数处理问题156

11.4.3 简单的栈和堆溢出157

11.4.4 逻辑错误157

11.4.5 格式字符串158

11.4.6 竞争条件(Race Condition)158

11.5 检测错误158

11.6 小结159

第12章 UNIX平台上的文件格式自动化模糊测试161

12.1 notSPIKEfile和SPIKEfile162

12.1.1 不具有的特性162

12.2 开发过程162

12.2.1 异常监测引擎163

12.2.2 异常报告(异常监测)163

12.2.3 模糊测试核心引擎164

12.3 有意义的代码片段165

12.3.1 UNIX中常见的我们可能感兴趣的信号167

12.3.2 我们不感兴趣的信号167

12.4 僵尸进程(Zombie Process)168

12.5 使用注意事项170

12.5.1 Adobe Acrobat171

12.5.2 RealNetworks RealPlayer171

12.6 案例研究:RealPlayer RealPix格式字符串漏洞172

12.7 开发语言174

12.8 小结174

第13章 Windows平台上的文件格式自动化模糊测试175

13.1 Windows文件格式漏洞175

13.2 FileFuzz工具的功能178

13.2.1 创建文件179

13.2.2 执行应用180

13.2.3 异常检测181

13.2.4 保存的审计(audit)182

13.3 必需的背景信息183

13.3.1 识别目标应用183

13.4 开发FileFuzz工具186

13.4.1 开发方法187

13.4.2 选择开发语言187

13.4.3 设计187

13.5 案例研究194

13.6 优势和提升空间198

13.7 小结199

第14章 网络协议的模糊测试200

14.1 什么是网络协议的模糊测试201

14.2 选择目标应用203

14.2.1 第二层:数据链接层204

14.2.2 第三层:网络层205

14.2.3 第四层:传输层205

14.2.4 第五层:会话层206

14.2.5 第六层:表示层206

14.2.6 第七层:应用层206

14.3 测试方法207

14.3.1 强制(基于变异的)模糊测试207

14.3.2 智能强制(基于生成的)模糊测试207

14.3.3 通过修改客户端进行变异模糊测试208

14.4 错误检测209

14.4.1 手工方式(基于调试器)209

14.4.2 自动化方式(基于代理)209

14.4.3 其他来源210

14.5 小结210

第15章 UNIX平台上的自动化网络协议模糊测试211

15.1 使用SPIKE进行模糊测试212

15.1.1 选择目标212

15.1.2 协议分析213

15.2 SPIKE必要知识215

15.2.1 模糊引擎216

15.2.2 基于行的通用TCP模糊测试器216

15.3 基于块的协议模型217

15.4 其他的SPIKE特性219

15.4.1 针对协议的模糊测试器219

15.4.2 针对协议的模糊测试脚本219

15.4.3 基于脚本的通用模糊测试器220

15.5 编写SPIKE NMAP模糊测试器脚本220

15.6 小结224

第16章 Windows平台上网络协议的模糊测试225

16.1 特性226

16.1.1 数据包结构226

16.1.2 抓取数据227

16.1.3 解析数据227

16.1.4 模糊测试变量228

16.1.5 发送数据229

16.2 必备的背景知识229

16.2.1 检测故障229

16.2.2 协议驱动程序230

16.3 开发231

16.3.1 选择编程语言231

16.3.2 数据包抓取库231

16.3.3 设计232

16.4 案例研究237

16.5 优势与可改进空间239

16.6 小结240

第17章 Web浏览器的模糊测试241

17.1 什么是Web浏览器模糊测试242

17.2 目标242

17.3 方法243

17.3.1 测试方法243

17.3.2 测试输入244

17.4 漏洞253

17.5 检测254

17.6 小结255

第18章 Web浏览器的自动化模糊测试256

18.1 组件对象模型背景256

18.1.1 COM简史257

18.1.2 对象与接口257

18.1.3 ActiveX258

18.2 开发模糊测试器260

18.2.1 枚举可被加载的AcriveX控件261

18.2.2 属性、方法、参数与类型266

18.2.3 模糊测试与监视270

18.3 小结271

第19章 内存模糊测试272

19.1 为什么需要内存模糊测试?怎么进行?273

19.2 必要的背景知识273

19.3 究竟什么是内存模糊测试的简要解释277

19.4 目标278

19.5 内存模糊测试方法之变异循环插入(Mutation Loop Insertion)279

19.6 内存模糊测试方法之快照恢复变异(Snapshot restoration mutation)280

19.7 测试速度与处理深度281

19.8 错误检测281

19.9 小结282

第20章 自动化内存模糊测试284

20.1 内存模糊测试工具特性集284

20.2 选择开发语言286

20.3 Windows调试API288

20.4 整合以上的内容292

20.4.1 如何在目标应用中特定的点放置“钩子”292

20.4.2 如何生成与恢复进程快照295

20.4.3 选择在何处放置钩子299

20.4.4 如何定位和变异目标内存空间299

20.5 PyDbg,一个新朋友299

20.6 一个人造的示例301

20.7 小结314

第三部分 高级模糊测试技术318

第21章 模糊测试框架318

21.1 什么是模糊测试框架319

21.2 现有的模糊测试框架321

21.2.1 antiparser321

21.2.2 Dfuz323

21.2.3 SPIKE327

21.2.4 Peach330

21.2.5 通用目的模糊测试器333

21.2.6 Autodafé335

21.3 定制模糊测试器案例研究:Shockwave Flash338

21.3.1 为SWF文件建模339

21.3.2 生成有效的数据350

21.3.3 模糊测试环境351

21.3.4 测试方法351

21.4 模糊测试框架Sulley352

21.4.1 Sulley的目录结构353

21.4.2 数据表示354

21.4.3 会话365

21.4.4 事后分析370

21.4.5 一个完整的实例375

21.5 小结382

第22章 自动化协议分析383

22.1 模糊测试的痛处383

2 2.2 启发式技术385

22.2.1 代理模糊测试385

22.2.2 改进的代理模糊测试388

22.2.3 反汇编启发式技术389

22.3 生物信息学390

22.4 遗传算法394

22.5 小结398

第23章 模糊测试器跟踪399

23.1 我们跟踪的究竟是什么399

23.2 可视化和基础块401

23.2.1 控制流图402

23.2.2 控制流图示例402

23.3 构建一个模糊测试器跟踪器403

23.3.1 分析目标404

23.3.2 跟踪405

23.3.3 交叉参考407

23.4 分析一个代码覆盖工具410

23.4.1 PStalker布局预览411

23.4.2 数据源栏412

23.4.3 数据浏览栏413

23.4.4 数据抓取栏414

23.4.5 局限性414

23.4.6 数据存储414

23.5 案例研究417

23.5.1 测试策略418

23.5.2 实际操作421

23.6 优势与将来的改进425

23.6.1 将来的改进427

23.7 小结428

第24章 智能错误检测429

24.1 原始的错误检测技术429

24.2 我们寻找的是什么432

24.3 选择模糊测试值的注意事项437

24.4 自动化的调试器监视438

24.4.1 一个基础的调试器监视器439

24.4.2 更高级的调试器监视器442

24.5 首轮异常与末轮异常446

24.6 动态二进制插装447

24.7 小结449

第四部分 展望452

第25章 我们学到了什么452

25.1 软件开发生命周期452

25.1.1 分析阶段455

25.1.2 设计阶段455

25.1.3 编码阶段456

25.1.4 测试阶段456

25.1.5 维护阶段457

25.1.6 在软件开发生命周期中实现模糊测试457

25.2 开发者457

25.3 QA研究员458

25.4 安全研究者458

25.5 小结459

第26章 展望460

26.1 商业工具460

26.1.1 BeyondSecurity 司的beSTORM461

26.1.2 BreakingPoint Systems 的BPS-1000461

26.1.3 Codenomicon462

26.1.4 GLEG ProtoVer专业版464

26.1.5 MU Security公司的MU-4000465

26.1.6 Security Innovation公司的Holodeck466

26.2 发现漏洞的混合方法467

26.3 集成的测试平台468

26.4 小结468

附录A 本书引用的小布什语录之详细解读469

索引480

热门推荐