书籍详情
Web应用漏洞侦测与防御:揭秘鲜为人知的攻击手段和防御技术
作者:(美)Mike Shema 著; 齐宁,庞建民 张铮,单征 译
出版社:机械工业出版社
出版时间:2014-08-01
ISBN:9787111472537
定价:¥69.00
购买这本书可以去
内容简介
本书作者是国际知名网络安全专家,揭示最危险的Web攻击,以及解决方案。全面讲解如何预防常见的网络攻击,包括:HTML注入及跨站脚本攻击、跨站请求伪造攻击、SQL注入攻击及数据存储操纵、攻破身份认证模式、利用设计缺陷、利用平台弱点、攻击浏览器和隐私等。书中对HTML5标准中与安全相关的主要API和特性进行了介绍,针对每一种攻击方式,不仅探究其攻击方法、机理及影响,而且还给出可能采取的应对措施。有助于读者了解如何对Web应用从多角度实施安全保护,做到防患于未然,使得网站拥有者或网站开发人员有信心面对安全相关的威胁与挑战。
作者简介
Mike Shema,国际知名的网络安全专家,现就职于Qualys,专注于自动化Web评估服务。之前曾是Foundstone信息安全咨询公司首席咨询师和培训师,在网络渗透测试、无线网络安全、代码审核、Web安全等方面有丰富的经验,撰写了多部信息安全技术图书,如《黑客大曝光:Web应用安全机密与解决方案》、《反黑客工具箱》和《黑客札记:Web安全手册》,并经常在世界范围的安全技术大会上演讲。齐宁,解放军信息工程大学博士,曾讲授课程有“信息安全”“网络原理与实践”等,曾参研国家重大专项611工程、国家863项目等,涉及漏洞发现技术、逆向分析技术、高性能计算机体系结构等领域。
目录
译者序
前 言
第1章 HTML5 1
1.1 新的文档对象模型 2
1.2 跨域资源共享 3
1.3 Websocket 6
1.3.1 传输数据 9
1.3.2 数据帧 10
1.3.3 安全性考虑 12
1.4 Web存储 13
1.5 Web Worker 15
1.6 杂七杂八 18
1.6.1 History API 18
1.6.2 API草案 18
1.7 小结 18
第2章 HTML注入及跨站脚本攻击 20
2.1 理解HTML注入 21
2.1.1 确定注入点 26
2.1.2 确定反射类型 33
2.1.3 确定注入呈现位置的上下文 36
2.1.4 攻击汇总 40
2.1.5 利用字符集 42
2.1.6 利用失效模式 49
2.1.7 绕过弱的排除列表 52
2.1.8 利用浏览器的怪异模式 53
2.1.9 不寻常的攻击载体 55
2.1.10 XSS的影响 58
2.2 部署应对措施 59
2.2.1 确定静态字符集 60
2.2.2 规范化字符集及编码 61
2.2.3 对输出进行编码 62
2.2.4 当心排除列表和正则表达式 63
2.2.5 重用代码,不要重新实现代码 64
2.2.6 JavaScript沙盒 65
2.2.7 浏览器内置XSS防御 67
2.3 小结 69
第3章 跨站请求伪造 70
3.1 理解跨站请求伪造 71
3.1.1 CSRF实现机制 73
3.1.2 借助强制浏览的请求伪造 76
3.1.3 无需密码攻击已认证动作 79
3.1.4 危险关系:CSRF和HTML注入 79
3.1.5 当心错综复杂的Web 80
3.1.6 相关主题:点击劫持 81
3.2 部署应对措施 82
3.2.1 朝着正确方向努力 83
3.2.2 保卫Web浏览器 91
3.2.3 脆弱性和似真性 92
3.3 小结 92
第4章 SQL注入攻击及数据存储操纵 94
4.1 理解SQL注入 96
4.1.1 攻击路线:数学和语法 99
4.1.2 攻击SQL语句 99
4.1.3 剖析数据库 107
4.1.4 其他攻击向量 110
4.1.5 真实世界中的SQL注入攻击 111
4.1.6 HTML5的Web存储API 112
4.1.7 不使用SQL的SQL注入攻击 113
4.2 部署应对措施 114
4.2.1 验证输入 115
4.2.2 对语句进行保护 115
4.2.3 保护信息 121
4.2.4 给数据库打最新的补丁 123
4.3 小结 123
第5章 攻破身份认证模式 125
5.1 理解身份认证攻击 126
5.1.1 重放会话令牌 126
5.1.2 暴力破解 129
5.1.3 网络嗅探 130
5.1.4 重置密码 132
5.1.5 跨站脚本攻击 133
5.1.6 SQL注入 133
5.1.7 诈骗和易受骗性 134
5.2 部署应对措施 135
5.2.1 保护会话cookie 135
5.2.2 使用安全认证方案 137
5.2.3 借助用户的力量 144
5.2.4 骚扰用户 145
5.2.5 请求限制 146
5.2.6 日志与三角测量 147
5.2.7 击败钓鱼攻击 147
5.2.8 保护密码 148
5.3 小结 148
第6章 利用设计缺陷 150
6.1 理解逻辑攻击和设计攻击 153
6.1.1 利用工作流 153
6.1.2 漏洞利用的策略及做法 154
6.1.3 归纳法 158
6.1.4 拒绝服务 160
6.1.5 不安全的设计模式 161
6.1.6 加密中的实现错误 165
6.1.7 信息泄露 177
6.2 部署应对措施 178
6.2.1 记录需求 178
6.2.2 创建强健的测试用例 178
6.2.3 把策略映射到控制 180
6.2.4 防御性编程 180
6.2.5 验证客户端 181
6.2.6 加密指南 181
6.3 小结 182
第7章 利用平台弱点 183
7.1 攻击是如何实现的 184
7.1.1 识别模式、数据结构以及开发者癖好 184
7.1.2 以操作系统为攻击目标 197
7.1.3 攻击服务器 202
7.1.4 拒绝服务 202
7.2 部署应对措施 206
7.2.1 限制文件访问 207
7.2.2 使用对象引用 207
7.2.3 将不安全函数列入到黑名单 208
7.2.4 强制授权 208
7.2.5 限制网络连接 208
7.3 小结 209
第8章 攻击浏览器和隐私 210
8.1 理解恶意软件和浏览器攻击 211
8.1.1 恶意软件 211
8.1.2 插入到浏览器插件中 215
8.1.3 DNS和域 217
8.1.4 HTML5 217
8.1.5 隐私 219
8.2 部署应对措施 227
8.2.1 安全地配置SSL/TLS 227
8.2.2 更加安全地浏览网页 228
8.2.3 隔离浏览器 229
8.2.4 Tor 229
8.2.5 DNSSEC 230
8.3 小结 230
前 言
第1章 HTML5 1
1.1 新的文档对象模型 2
1.2 跨域资源共享 3
1.3 Websocket 6
1.3.1 传输数据 9
1.3.2 数据帧 10
1.3.3 安全性考虑 12
1.4 Web存储 13
1.5 Web Worker 15
1.6 杂七杂八 18
1.6.1 History API 18
1.6.2 API草案 18
1.7 小结 18
第2章 HTML注入及跨站脚本攻击 20
2.1 理解HTML注入 21
2.1.1 确定注入点 26
2.1.2 确定反射类型 33
2.1.3 确定注入呈现位置的上下文 36
2.1.4 攻击汇总 40
2.1.5 利用字符集 42
2.1.6 利用失效模式 49
2.1.7 绕过弱的排除列表 52
2.1.8 利用浏览器的怪异模式 53
2.1.9 不寻常的攻击载体 55
2.1.10 XSS的影响 58
2.2 部署应对措施 59
2.2.1 确定静态字符集 60
2.2.2 规范化字符集及编码 61
2.2.3 对输出进行编码 62
2.2.4 当心排除列表和正则表达式 63
2.2.5 重用代码,不要重新实现代码 64
2.2.6 JavaScript沙盒 65
2.2.7 浏览器内置XSS防御 67
2.3 小结 69
第3章 跨站请求伪造 70
3.1 理解跨站请求伪造 71
3.1.1 CSRF实现机制 73
3.1.2 借助强制浏览的请求伪造 76
3.1.3 无需密码攻击已认证动作 79
3.1.4 危险关系:CSRF和HTML注入 79
3.1.5 当心错综复杂的Web 80
3.1.6 相关主题:点击劫持 81
3.2 部署应对措施 82
3.2.1 朝着正确方向努力 83
3.2.2 保卫Web浏览器 91
3.2.3 脆弱性和似真性 92
3.3 小结 92
第4章 SQL注入攻击及数据存储操纵 94
4.1 理解SQL注入 96
4.1.1 攻击路线:数学和语法 99
4.1.2 攻击SQL语句 99
4.1.3 剖析数据库 107
4.1.4 其他攻击向量 110
4.1.5 真实世界中的SQL注入攻击 111
4.1.6 HTML5的Web存储API 112
4.1.7 不使用SQL的SQL注入攻击 113
4.2 部署应对措施 114
4.2.1 验证输入 115
4.2.2 对语句进行保护 115
4.2.3 保护信息 121
4.2.4 给数据库打最新的补丁 123
4.3 小结 123
第5章 攻破身份认证模式 125
5.1 理解身份认证攻击 126
5.1.1 重放会话令牌 126
5.1.2 暴力破解 129
5.1.3 网络嗅探 130
5.1.4 重置密码 132
5.1.5 跨站脚本攻击 133
5.1.6 SQL注入 133
5.1.7 诈骗和易受骗性 134
5.2 部署应对措施 135
5.2.1 保护会话cookie 135
5.2.2 使用安全认证方案 137
5.2.3 借助用户的力量 144
5.2.4 骚扰用户 145
5.2.5 请求限制 146
5.2.6 日志与三角测量 147
5.2.7 击败钓鱼攻击 147
5.2.8 保护密码 148
5.3 小结 148
第6章 利用设计缺陷 150
6.1 理解逻辑攻击和设计攻击 153
6.1.1 利用工作流 153
6.1.2 漏洞利用的策略及做法 154
6.1.3 归纳法 158
6.1.4 拒绝服务 160
6.1.5 不安全的设计模式 161
6.1.6 加密中的实现错误 165
6.1.7 信息泄露 177
6.2 部署应对措施 178
6.2.1 记录需求 178
6.2.2 创建强健的测试用例 178
6.2.3 把策略映射到控制 180
6.2.4 防御性编程 180
6.2.5 验证客户端 181
6.2.6 加密指南 181
6.3 小结 182
第7章 利用平台弱点 183
7.1 攻击是如何实现的 184
7.1.1 识别模式、数据结构以及开发者癖好 184
7.1.2 以操作系统为攻击目标 197
7.1.3 攻击服务器 202
7.1.4 拒绝服务 202
7.2 部署应对措施 206
7.2.1 限制文件访问 207
7.2.2 使用对象引用 207
7.2.3 将不安全函数列入到黑名单 208
7.2.4 强制授权 208
7.2.5 限制网络连接 208
7.3 小结 209
第8章 攻击浏览器和隐私 210
8.1 理解恶意软件和浏览器攻击 211
8.1.1 恶意软件 211
8.1.2 插入到浏览器插件中 215
8.1.3 DNS和域 217
8.1.4 HTML5 217
8.1.5 隐私 219
8.2 部署应对措施 227
8.2.1 安全地配置SSL/TLS 227
8.2.2 更加安全地浏览网页 228
8.2.3 隔离浏览器 229
8.2.4 Tor 229
8.2.5 DNSSEC 230
8.3 小结 230
猜您喜欢