OWASP安全测试指南V4中文版发行

OWASP是一个开源的、非盈利的全球性安全组织,致力于应用软件的安全研究,在业界具有一流的影响力和性。作为OWASP面向中国的区域分支,OWASP中国自2006年正式启动,目前已拥有来自互联网安全专业领域和政府、电信、金融、教育等相关领域的会员近5000个,形成了强大的专业技术实力和行业资源聚集能力,有力推动了共同推动了安全标准、安全测试工具、安全指导手册等应用安全技术在中国的发展,成为了积极推动中国互联网安全技术创新、人才培养和行业发展的中坚力量。作为OWASP中国的运营中心,互联网安全研究中心(Security Zone,简称SecZone)是国内独立、开源的互联网安全研究机构。中心始终秉持引入、吸收、创新的发展宗旨,专注于互联网安全前沿技术和OWASP项目的深度研究,常年组织开展各类开源培训及沙龙活动,致力于通过对国内外技术、资源的整合、应用和创新,更好地服务业界同仁、服务行业发展,更有力地推动国内互联网安全技术的进步与升级。

安全测试

目录
部分 项目概述及测试框架
第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
第二部分 测试方法
第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 方法测试(OTG-CONFIG-006) 103
5.6.1 方法测试概述 103
5.6.2 任意的方法 104
5.6.3 方法测试方法 104
5.7 强制安全传输测试(OTG-CONFIG-007) 108
5.7.1 强制安全传输测试概述 108
5.7.2 强制安全传输测试方法 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 方法篡改测试(OTG-INPVAL-003) 200
10.3.1 方法篡改测试概述 200
10.3.2 方法篡改测试方法 201
10.4 参数污染测试(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 拆分/走私测试(OTG-INPVAL-016) 281
10.16.1 拆分/走私测试概述 281
10.16.2 拆分/走私测试方法 282
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 执行测试(OTG-CLIENT-002) 381
14.2.1 执行测试概述 381
14.2.2 执行测试方法 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
第三部分 测试报告
第15章 报告 428
附录A 测试工具 430
附录B 推荐读物 439
附录C 模糊测试向量 444
附录D 编码注入 452
附录E 测试项列表 455