《安全测试指南 第4版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美国)OWASP基金会著OWASP中国/SECZONE译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2016
  • ISBN:9787121292088
  • 页数:460 页
图书介绍:软件安全问题也许是这个时代面临的最为重要的技术挑战。Web应用程序让业务、社交等网络活动飞速发展,这同时也加剧了它们对软件安全的要求。我们急需建立一个强大的方法来编写和保护我们的互联网、Web应用程序和数据,并基于工程和科学的原则,用一致的、可重复的和定义的方法来测试软件安全问题。本书正是实现这个目标的重要一步,作为一本安全测试指南,详细讲解了Web应用测试的“4W1H”,即“什么是测试”、“为什么要测试”、“什么时间测试”、“测试哪里”以及“如何测试”。

第一部分 项目概述及测试框架 2

第1章 OWASP测试项目 2

1.1 OWASP测试项目概述 2

1.2 测试原则 5

1.3 测试技术说明 9

1.3.1 测试技术说明概述 9

1.3.2 人工检查及复查 9

1.3.3 软件威胁建模 10

1.3.4 代码审查 11

1.3.5 渗透测试 12

1.3.6 需要平衡的测试方法 13

1.3.7 关于Web应用扫描工具的注意事项 14

1.3.8 关于静态源代码复查工具的注意事项 15

1.3.9 安全测试需求推导 15

1.3.10 功能和非功能测试需求 18

1.3.11 安全测试集成开发与测试工作流程 21

1.3.12 开发人员的安全测试 22

1.3.13 集成系统测试和操作测试 24

1.3.14 安全测试数据分析和报告 25

1.4 OWASP测试项目参考文献 28

第2章 OWASP测试架构 30

2.1 OWASP测试架构概述 30

2.1.1 阶段1:开发前 31

2.1.2 阶段2:设计和定义阶段 31

2.1.3 阶段3:开发阶段 33

2.1.4 阶段4:部署中 33

2.1.5 阶段5:维护和运行 34

2.2 典型SDLC测试流程 34

第二部分 测试方法 36

第3章 Web应用安全测试 36

3.1 Web应用安全测试概述 36

3.2 什么是OWASP测试方法 37

第4章 信息收集测试 39

4.1 搜索引擎信息收集(OTG-INFO-001) 39

4.1.1 信息收集概述 39

4.1.2 信息收集测试目标 40

4.1.3 信息收集测试方法 40

4.2 Web服务器指纹识别(OTG-INFO-002) 42

4.2.1 Web服务器指纹识别概述 42

4.2.2 Web服务器指纹识别测试目标 42

4.2.3 Web服务器指纹识别测试方法 43

4.3 审查Web服务器元文件信息泄露(OTG-INFO-003) 48

4.3.1 审查Web服务器元文件信息泄露概述 48

4.3.2 审查Web服务器元文件信息泄露测试目标 48

4.3.3 审查Web服务器元文件信息泄露测试方法 49

4.4 枚举Web服务器的应用(OTG-INFO-004) 52

4.4.1 枚举Web服务器的应用概述 52

4.4.2 枚举Web服务器的应用测试目标 53

4.4.3 枚举Web服务器的应用测试方法 53

4.5 注释和元数据信息泄露(OTG-INFO-005) 58

4.5.1 注释和元数据信息泄露概述 58

4.5.2 注释和元数据信息泄露测试目标 58

4.5.3 注释和元数据信息泄露测试方法 58

4.6 识别应用的入口(OTG-INFO-006) 60

4.6.1 识别应用的入口概述 60

4.6.2 识别应用的入口测试目标 60

4.6.3 识别应用的入口测试方法 60

4.7 映射应用程序的执行路径(OTG-INFO-007) 62

4.7.1 映射应用程序的执行路径概述 62

4.7.2 映射应用程序的执行路径测试目标 63

4.7.3 映射应用程序的执行路径测试方法 63

4.8 识别Web应用框架(OTG-INFO-008) 64

4.8.1 识别Web应用框架概述 64

4.8.2 识别Web应用框架测试目标 65

4.8.3 识别Web应用框架测试方法 65

4.9 识别Web应用程序(OTG-INFO-009) 69

4.9.1 识别Web应用程序概述 69

4.9.2 识别Web应用程序测试目标 69

4.9.3 识别Web应用程序测试方法 69

4.10 映射应用架构(OTG-INFO-010) 73

4.10.1 映射应用架构概述 73

4.10.2 映射应用架构测试方法 73

4.10.3 防护Web服务器示例 74

4.11 信息收集测试工具 75

4.12 信息收集测试参考文献 81

4.13 信息收集测试加固措施 83

第5章 配置管理测试 87

5.1 网络和基础设施配置测试(OTG-CONFIG-001) 87

5.1.1 网络和基础设施配置测试概述 87

5.1.2 网络和基础设施配置测试方法 88

5.2 应用平台配置测试(OTG-CONFIG-002) 89

5.2.1 应用平台配置测试概述 89

5.2.2 应用平台配置测试方法 89

5.3 敏感信息文件扩展处理测试(OTG-CONFIG-003) 94

5.3.1 敏感信息文件扩展处理测试概述 94

5.3.2 敏感信息文件扩展处理测试方法 95

5.4 对旧文件、备份和未被引用文件的敏感信息的审查(OTG-CONFIG-004) 96

5.4.1 对旧文件、备份和未被引用文件的敏感信息的审查概述 96

5.4.2 对旧文件、备份和未被引用文件的敏感信息产生的威胁 97

5.4.3 对旧文件、备份和未被引用文件的敏感信息的测试方法 98

5.5 枚举基础设施和应用程序管理界面(OTG-CONFIG-005) 101

5.5.1 枚举基础设施和应用程序管理界面概述 101

5.5.2 枚举基础设施和应用程序管理界面测试方法 102

5.6 HTTP方法测试(OTG-CONFIG-006) 103

5.6.1 HTTP方法测试概述 103

5.6.2 任意的HTTP方法 104

5.6.3 HTTP方法测试方法 104

5.7 HTTP强制安全传输测试(OTG-CONFIG-007) 108

5.7.1 HTTP强制安全传输测试概述 108

5.7.2 HTTP强制安全传输测试方法 108

5.8 RIA跨域策略测试(OTG-CONFIG-008) 109

5.8.1 RIA跨域策略测试概述 109

5.8.2 跨域策略测试方法 110

5.9 配置部署管理测试工具 111

5.10 配置部署管理测试参考文献 113

5.11 配置部署管理测试加固措施 116

第6章 身份管理测试 117

6.1 角色定义测试(OTG-IDENT-001) 117

6.1.1 角色定义测试概述 117

6.1.2 角色定义测试目标 117

6.1.3 角色定义测试方法 118

6.2 用户注册流程测试(OTG-IDENT-002) 118

6.2.1 用户注册流程测试概述 118

6.2.2 用户注册流程测试目标 118

6.2.3 用户注册流程测试方法 119

6.3 账户配置过程测试(OTG-IDENT-003) 120

6.3.1 账户配置过程测试概述 120

6.3.2 账户配置过程测试测试目标 120

6.3.3 账户配置过程测试测试方法 120

6.4 账户枚举和可猜测的用户账户测试(OTG-IDENT-004) 121

6.4.1 账户枚举和可猜测的用户账户测试概述 121

6.4.2 账户枚举和可猜测的用户账户测试方法 122

6.5 弱的或未实施的用户策略测试(OTG-IDENT-005) 126

6.5.1 弱的或未实施的用户策略测试概述 126

6.5.2 弱的或未实施的用户策略测试目标 126

6.5.3 弱的或未实施的用户策略测试方法 126

6.6 身份管理测试工具 126

6.7 身份管理测试参考文献 127

6.8 身份管理测试加固措施 128

第7章 认证测试 129

7.1 凭证在加密通道中的传输测试(OTG-AUTHN-001) 129

7.1.1 凭证在加密通道中的传输测试概述 129

7.1.2 凭证在加密通道中的传输测试方法 130

7.2 默认用户凭证测试(OTG-AUTHN-002) 133

7.2.1 默认用户凭证测试概述 133

7.2.2 默认用户凭证测试方法 133

7.3 弱锁定机制测试(OTG-AUTHN-003) 136

7.3.1 弱锁定机制测试概述 136

7.3.2 弱锁定机制测试目标 136

7.3.3 弱锁定机制测试方法 136

7.4 认证模式绕过测试(OTG-AUTHN-004) 138

7.4.1 认证模式绕过测试概述 138

7.4.2 认证模式绕过测试方法 138

7.5 记忆密码功能存在威胁测试(OTG-AUTHN-005) 142

7.5.1 记忆密码功能存在威胁测试概述 142

7.5.2 记忆密码功能存在威胁测试方法 143

7.6 浏览器缓存威胁测试(OTG-AUTHN-006) 143

7.6.1 浏览器缓存威胁测试概述 143

7.6.2 浏览器缓存威胁测试方法 144

7.7 弱密码策略测试(OTG-AUTHN-007) 145

7.7.1 弱密码策略测试概述 145

7.7.2 弱密码策略测试目标 145

7.7.3 弱密码策略测试方法 146

7.8 弱安全问答测试(OTG-AUTHN-008) 146

7.8.1 弱安全问答测试概述 146

7.8.2 弱安全问答测试方法 147

7.9 弱密码的更改或重设功能测试(OTG-AUTHN-009) 148

7.9.1 弱密码的更改或重设功能测试概述 148

7.9.2 弱密码的更改或重设功能测试目标 148

7.9.3 弱密码的更改或重设功能测试方法 148

7.10 在辅助信道中较弱认证测试(OTG-AUTHN-010) 150

7.10.1 在辅助信道中较弱认证测试概述 150

7.10.2 在辅助信道中较弱认证测试示例 151

7.10.3 在辅助信道中较弱认证测试方法 151

7.10.4 关联的测试用例 152

7.11 认证测试工具 152

7.12 认证测试参考文献 153

7.13 认证测试加固措施 155

第8章 授权测试 156

8.1 目录遍历/文件包含测试(OTG-AUTHZ-001) 156

8.1.1 目录遍历/文件包含测试概述 156

8.1.2 目录遍历/文件包含测试方法 157

8.2 绕过授权模式测试(OTG-AUTHZ-002) 160

8.2.1 绕过授权模式测试概述 160

8.2.2 绕过授权模式测试方法 161

8.3 权限提升测试(OTG-AUTHZ-003) 161

8.3.1 权限提升测试概述 161

8.3.2 权限提升测试方法 162

8.4 不安全对象引用测试(OTG-AUTHZ-004) 163

8.4.1 不安全对象引用测试概述 163

8.4.2 不安全对象引用测试方法 163

8.5 授权测试工具 165

8.6 授权测试参考文献 165

8.7 授权测试加固措施 166

第9章 会话管理测试 167

9.1 会话管理架构绕过测试(OTG-SESS-001) 167

9.1.1 会话管理架构绕过测试概述 167

9.1.2 会话管理架构绕过测试方法 168

9.2 Cookie属性测试(OTG-SESS-002) 173

9.2.1 Cookie属性测试概述 173

9.2.2 Cookie属性测试方法 175

9.3 会话固化测试(OTG-SESS-003) 176

9.3.1 会话固化测试概述 176

9.3.2 会话固化测试方法 176

9.4 会话变量泄露测试(OTG-SESS-004) 178

9.4.1 会话变量泄露测试概述 178

9.4.2 会话变量泄露测试方法 178

9.5 跨站伪造请求(CSRF)测试(OTG-SESS-005) 181

9.5.1 跨站伪造请求(CSRF)测试概述 181

9.5.2 跨站伪造请求(CSRF)测试方法 184

9.6 会话管理测试工具 185

9.7 会话管理测试参考文献 186

9.8 会话管理测试加固措施 188

第10章 输入验证测试 190

10.1 反射型跨站脚本测试(OTG-INPVAL-001) 190

10.1.1 反射型跨站脚本测试概述 190

10.1.2 反射型跨站脚本测试方法 191

10.2 存储型跨站脚本测试(OTG-INPVAL-002) 195

10.2.1 存储型跨站脚本测试概述 195

10.2.2 存储型跨站脚本测试方法 196

10.3 HTTP方法篡改测试(OTG-INPVAL-003) 200

10.3.1 HTTP方法篡改测试概述 200

10.3.2 方法篡改测试方法 201

10.4 HTTP参数污染测试(OTG-INPVAL-004) 203

10.4.1 参数污染测试概述 203

10.4.2 参数污染测试方法 205

10.5 SQL注入测试(OTG-INPVAL-005) 207

10.5.1 SQL注入测试概述 207

10.5.2 注入测试方法 208

10.6 LDAP测试(OTG-INPVAL-006) 245

10.6.1 LDAP测试概述 245

10.6.2 LDAP测试方法 246

10.7 ORM注入测试(OTG-INPVAL-007) 247

10.7.1 ORM注入测试概述 247

10.7.2 ORM注入测试方法 247

10.8 XML注入测试(OTG-INPVAL-008) 248

10.8.1 XML注入测试概述 248

10.8.2 XML注入测试方法 248

10.8.3 发现漏洞 250

10.9 SSI注入测试(OTG-INPVAL-009) 255

10.9.1 SSI注入测试概述 255

10.9.2 SSI注入测试方法 256

10.10 XPath注入测试(OTG-INPVAL-010) 257

10.10.1 XPath注入测试概述 257

10.10.2 XPath注入测试方法 258

10.11 IMAP/SMTP注入测试(OTG-INPVAL-011) 259

10.11.1 IMAP/SMTP注入测试概述 259

10.11.2 IMAP/SMTP注入测试方法 260

10.12 代码注入测试(OTG-INPVAL-012) 263

10.12.1 代码注入测试概述 263

10.12.2 代码注入测试方法 264

10.13 命令注入测试(OTG-INPVAL-013) 266

10.13.1 命令注入测试概述 266

10.13.2 命令注入测试方法 267

10.14 缓冲区溢出测试(OTG-INPVAL-014) 269

10.14.1 缓冲区溢出测试概述 269

10.14.2 缓冲区溢出测试方法 269

10.15 潜伏式漏洞测试(OTG-INPVAL-015) 278

10.15.1 潜伏式漏洞测试概述 278

10.15.2 潜伏式漏洞测试方法 279

10.16 HTTP拆分/走私测试(OTG-INPVAL-016) 281

10.16.1 HTTP拆分/走私测试概述 281

10.16.2 HTTP拆分/走私测试方法 281

10.17 输入验证测试工具 285

10.18 输入验证测试参考文献 290

10.19 输入验证测试加固措施 297

第11章 错误处理测试 300

11.1 报错信息测试(OTG-ERR-001) 300

11.1.1 报错信息测试概述 300

11.1.2 报错信息测试方法 302

11.2 堆栈轨迹测试(OTG-ERR-002) 305

11.2.1 堆栈轨迹测试概述 305

11.2.2 堆栈轨迹测试方法 306

11.3 错误处理测试工具 306

11.4 错误处理测试参考文献 307

11.5 错误处理测试加固措施 307

第12章 加密体系脆弱性测试 310

12.1 SSL/TLS弱加密、传输层协议缺陷测试(OTG-CRYPST-001) 310

12.1.1 SSL/TLS弱加密、传输层协议缺陷测试概述 310

12.1.2 SSL/TLS弱加密、传输层协议缺陷测试方法 313

12.2 Padding Oracle攻击测试(OTG-CRYPST-002) 342

12.2.1 Padding Oracle攻击测试概述 342

12.2.2 Padding Oracle攻击测试方法 343

12.3 通过未加密信道发送敏感数据测试(OTG-CRYPST-003) 344

12.3.1 通过未加密信道发送敏感数据测试概述 344

12.3.2 通过未加密信道发送敏感数据测试方法 345

12.4 加密体系脆弱性测试工具 347

12.5 加密体系脆弱性参考文献 348

12.6 加密体系脆弱性加固措施 351

第13章 业务逻辑测试 352

13.1 业务逻辑数据验证测试(OTG-BUSLOGIC-001) 354

13.1.1 业务逻辑数据验证测试概述 354

13.1.2 业务逻辑数据验证测试示例 355

13.1.3 业务逻辑数据验证测试方法 355

13.2 伪造请求的测试(OTG-BUSLOGIC-002) 356

13.2.1 伪造请求的测试概述 356

13.2.2 伪造请求的测试示例 357

13.2.3 伪造请求的测试方法 357

13.3 完整性检查测试(OTG-BUSLOGIC-003) 358

13.3.1 完整性检查测试概述 358

13.3.2 完整性检查测试示例 359

13.3.3 完整性检查测试方法 359

13.4 处理耗时测试(OTG-BUSLOGIC-004) 360

13.4.1 处理耗时测试概述 360

13.4.2 处理耗时测试示例 361

13.4.3 处理耗时测试方法 361

13.5 功能使用次数限制(OTG-BUSLOGIC-005) 361

13.5.1 功能使用次数限制概述 361

13.5.2 功能使用次数限制示例 362

13.5.3 功能使用次数限制测试方法 362

13.6 工作流程逃逸的测试(OTG-BUSLOGIC-006) 362

13.6.1 工作流程逃逸的测试概述 362

13.6.2 工作流程逃逸的测试示例 363

13.6.3 工作流程逃逸的测试方法 363

13.7 防御应用程序滥用测试(OTG-BUSLOGIC-007) 364

13.7.1 防御应用程序滥用测试概述 364

13.7.2 防御应用程序滥用测试示例 364

13.7.3 防御应用程序滥用测试方法 365

13.8 意外文件类型上传测试(OTG-BUSLOGIC-008) 366

13.8.1 意外文件类型上传测试概述 366

13.8.2 意外文件类型上传测试示例 367

13.8.3 意外文件类型上传测试方法 367

13.9 恶意文件上传测试(OTG-BUSLOGIC-009) 367

13.9.1 恶意文件上传测试概述 367

13.9.2 恶意文件上传测试示例 368

13.9.3 恶意文件上传测试方法 368

13.10 业务逻辑测试工具 369

13.11 业务逻辑测试参考文献 371

13.12 业务逻辑测试加固措施 376

第14章 客户端测试 378

14.1 基于DOM的跨站脚本测试(OTG-CLIENT-001) 378

14.1.1 基于DOM的跨站脚本测试概述 378

14.1.2 基于DOM的跨站脚本的测试方法 378

14.2 JavaScript执行测试(OTG-CLIENT-002) 381

14.2.1 JavaScript执行测试概述 381

14.2.2 JavaScript执行测试方法 381

14.3 HTML注入测试(OTG-CLIENT-003) 382

14.3.1 HTML注入测试概述 382

14.3.2 HTML注入测试方法 382

14.4 客户端URL重定向测试(OTG-CLIENT-004) 384

14.4.1 客户端URL重定向测试概述 384

14.4.2 客户端URL重定向测试方法 384

14.5 CSS注入测试(OTG-CLIENT-005) 385

14.5.1 CSS注入测试概述 385

14.5.2 CSS注入测试方法 386

14.6 客户端资源处理测试(OTG-CLIENT-006) 388

14.6.1 客户端资源处理测试概述 388

14.6.2 客户端资源处理测试方法 388

14.7 跨源资源共享测试(OTG-CLIENT-007) 390

14.7.1 跨源资源共享测试概述 390

14.7.2 跨源资源共享测试方法 391

14.8 跨站Flash测试(OTG-CLIENT-008) 395

14.8.1 跨站Flash测试概述 395

14.8.2 跨站Flash测试方法 395

14.9 点击劫持测试(OTG-CLIENT-009) 401

14.9.1 点击劫持测试概述 401

14.9.2 点击劫持测试方法 402

14.10 WebSockets测试(OTG-CLIENT-010) 411

14.10.1 WebSockets测试概述 411

14.10.2 WebSockets测试方法 412

14.11 Web消息测试(OTG-CLIENT-011) 414

14.11.1 Web消息测试概述 414

14.11.2 Web消息测试方法 415

14.12 本地存储测试(OTG-CLIENT-012) 417

14.12.1 本地存储测试概述 417

14.12.2 本地存储测试方法 417

14.13 客户端测试工具 419

14.14 客户端测试参考文献 421

14.15 客户端测试加固措施 425

第三部分 测试报告 428

第15章 报告 428

附录A测试工具 430

附录B推荐读物 439

附录C模糊测试向量 444

附录D编码注入 452

附录E测试项列表 455