内容简介
《Web安全测试技术详解》基于开源安全测试工具SafeTool-51testing和靶机系统WebGoat,系统而深入地阐述了Web安全测试的核心知识、实用工具与关键技术。
《Web安全测试技术详解》共12章,其内容涵盖SQL注入、路径遍历、身份验证、密码重置、敏感信息泄露、XXE、访问控制、XSS、反序列化、组件、请求伪造等主流漏洞的测试方法,并提供了相应的防御策略。此外,本书还深入剖析了前端安全和CTF等Web攻防类型题目的解题思路及方法,为读者提供了全面的Web安全测试指导。
《Web安全测试技术详解》既可作为安全测试初学者的快速入门书,也可作为测试工程师的实战指导书,还可作为相关培训机构的教材。
目录
第 1章 安全测试必备知识 1
1.1 安全测试概述 2
1.2 环境搭建 2
1.2.1 安装安全测试工具运行环境 3
1.2.2 安装Visual Studio Code 6
1.2.3 启动服务器和安装WebGoat系统 8
1.3 靶机系统 15
1.3.1 WebGoat系统 15
1.3.2 WebWolf系统 16
1.4 安全测试基础知识 23
1.4.1 HTTP基础知识 23
1.4.2 HTTP代理工具 29
1.4.3 开发者工具 30
1.4.4 信息安全三要素 34
1.4.5 加密与编码基础 37
第 2章 SQL注入漏洞 52
2.1 SQL注入漏洞基础知识 52
2.1.1 SQL语句的类型与SQL注入漏洞的类型 53
2.1.2 SQL语句 53
2.1.3 DML语句 55
2.1.4 DDL语句 56
2.1.5 DCL语句 57
2.1.6 如何利用SQL注入漏洞 58
2.1.7 SQL注入的后果 59
2.1.8 影响SQL注入的因素 60
2.1.9 测试字符型SQL注入漏洞 62
2.1.10 测试数字型SQL注入漏洞 63
2.1.11 利用SQL注入漏洞获取 敏感数据 68
2.1.12 注入SQL查询链 70
2.1.13 SQL注入漏洞对系统可用性 的破坏 74
2.2 SQL注入漏洞进阶 74
2.2.1 组合注入 74
2.2.2 组合注入技巧 76
2.2.3 SQL盲注 78
2.2.4 演示SQL盲注的方法 79
2.2.5 做笔试题 82
第3章 SQL注入防御和路径遍历漏洞 85
3.1 SQL注入防御 85
3.1.1 SQL注入的防御方法 85
3.1.2 存储过程 86
3.1.3 参数化查询 87
3.1.4 编写安全代码 88
3.1.5 编写可运行的安全代码 90
3.1.6 参数化查询的.NET方式 91
3.1.7 使用输入验证防御SQL注入 漏洞 92
3.1.8 穿透薄弱的输入验证(一) 93
3.1.9 穿透薄弱的输入验证(二) 99
3.1.10 order by注入 101
3.1.11 如何利用order by注入 103
3.1.12 最小特权限制 109
3.2 路径遍历漏洞 109
3.2.1 路径遍历漏洞的原理 110
3.2.2 实现任意文件上传 111
3.2.3 穿透薄弱的防御规则 113
3.2.4 穿透页面的过滤规则 114
3.2.5 获取敏感文件 117
第4章 身份验证 124
4.1 绕过身份验证 124
4.1.1 身份验证绕过的方式 124
4.1.2 双因素身份认证中的密码重置 127
4.2 会话令牌 132
4.2.1 JWT简介 132
4.2.2 JWT的结构 133
4.2.3 如何使用JWT 136
4.2.4 JWT签名算法的None漏洞 137
4.2.5 弱签名密钥的爆破攻击 145
4.2.6 刷新令牌 150
4.2.7 刷新令牌存在的漏洞 154
4.2.8 越权操作漏洞 161
第5章 密码重置和安全密码 167
5.1 密码重置 167
5.1.1 接收密码重置邮件 168
5.1.2 确定已注册的账户 173
5.1.3 安全问题存在的漏洞 173
5.1.4 如何设置安全问题 180
5.1.5 重置密码链接存在的漏洞 181
5.1.6 如何设计安全的密码重置功能 187
5.2 安全密码 189
5.2.1 密码标准 190
5.2.2 如何设置一个安全性足够强的密码 191
5.2.3 如何提高账户的安全性 191
5.2.4 如何安全地存储密码 192
第6章 敏感信息泄露和XXE漏洞 193
6.1 敏感信息泄露 193
6.1.1 为什么需要对敏感数据进行加密 193
6.1.2 嗅探HTTP数据包的敏感内容 197
6.2 XXE漏洞 199
6.2.1 XML基础知识 199
6.2.2 XML实体和XXE漏洞 202
6.2.3 XXE注入举例 203
6.2.4 利用XXE漏洞显示文件系统的目录 205
6.2.5 针对测验6.2的防御方案 209
6.2.6 通过代码审查找到XXE漏洞 210
6.2.7 REST框架的XXE漏洞 212
6.2.8 针对REST框架的XXE漏洞的解决方案 215
6.2.9 利用XXE漏洞实施的DoS 攻击 216
6.2.10 XXE盲注 217
6.2.11 如何利用XXE盲注 218
6.2.12 如何防御XXE漏洞 223
第7章 访问控制漏洞 224
<