内容简介
软件安全问题也许是这个时代面临的*为重要的技术挑战。Web应用程序让业务、社交等网络活动飞速发展,这同时也加剧了它们对软件安全的要求。我们急需建立一个强大的方法来编写和保护我们的互联网、Web应用程序和数据,并基于工程和科学的原则,用一致的、可重复的和定义的方法来测试软件安全问题。本书正是实现这个目标的重要一步,作为一本安全测试指南,详细讲解了Web应用测试的“4W1H”,即“什么是测试”、“为什么要测试”、“什么时间测试”、“测试哪里”以及“如何测试”。本书适合高等院校计算机相关专业师生阅读,也适合广大软件开发人员、测试人员以及所有对软件安全问题感兴趣的读者阅读。
作者简介
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 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拆分/走私测试方法 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.
安全测试指南(第4版) 电子书 下载 mobi epub pdf txt