第1章 信息泄露 1
1.1 主机信息 1
1.1.1 子域名信息 2
1.1.2 端口信息 5
1.1.3 域名注册信息 10
1.1.4 网站后台地址 12
1.2 源码泄露 14
1.2.1 Git源码泄露 15
1.2.2 SVN源码泄露 17
1.2.3.DS_Store文件泄露 18
1.2.4 网站备份压缩文件 20
1.2.5 WEB-INF/web.xml泄露 21
1.2.6 防御方案 24
1.3 账户弱口令 24
1.3.1 漏洞成因 24
1.3.2 漏洞危害 25
1.3.3 漏洞案例 26
1.3.4 防范方法 29
第2章 常规漏洞 31
2.1 SQL注入 31
2.1.1 注入方式 32
2.1.2 漏洞的3种类型 39
2.1.3 检测方法 41
2.1.4 防范方法 43
2.1.5 代码审查 45
2.1.6 小结 47
2.2 XSS跨站 47
2.2.1 XSS漏洞类型 48
2.2.2 漏洞危害 51
2.2.3 防范方法 54
2.2.4 操作实践 56
2.2.5 代码审查 58
2.2.6 小结 59
2.3 代码注入与命令执行 59
2.3.1 漏洞类型 60
2.3.2 漏洞案例 62
2.3.3 防御方法 65
2.3.4 命令执行 65
2.3.5 小结 67
2.4 CSRF跨站请求伪造 67
2.4.1 原理分析 67
2.4.2 漏洞案例 68
2.4.3 操作实践 72
2.4.4 防御方法 73
2.4.5 防御代码示例 74
2.4.6 小结 75
2.5 文件包含 76
2.5.1 漏洞成因 76
2.5.2 本地文件包含 76
2.5.3 远程文件包含 79
2.5.4 测试方法 82
2.5.5 使用PHP封装协议 83
2.5.6 小结 84
2.6 文件上传漏洞 85
2.6.1 利用方式 85
2.6.2 上传检测 86
2.6.3 解析漏洞 87
2.6.6 小结 92
第3章 业务逻辑安全 93
3.1 验证码安全 93
3.1.1 图片验证码 94
3.1.2 数字暴力破解 98
3.1.3 空验证码突破 99
3.1.4 绕过测试 101
3.1.5 凭证返回 102
3.1.6 小结 103
3.2 密码找回 103
3.2.1 敏感信息泄露 104
3.2.2 邮箱弱token 105
3.2.3 验证的有效性 106
3.2.4 注册覆盖 107
3.2.5 小结 109
3.3 接口盗用 109
3.3.1 API盗用 109
3.3.2 短信轰炸 111
3.4 账户越权 116
3.4.1 未授权访问 116
3.4.2 水平越权 118
3.4.3 垂直越权 120
3.4.4 小结 121
3.5 支付漏洞 121
3.5.1 支付流程分析 122
3.5.2 金额数据篡改 123
3.5.3 商品数量篡改 125
3.5.4 运费金额修改 127
3.5.5 小结 128
3.6 SSRF服务端请求伪造 129
3.6.1 漏洞成因 129
3.6.2 漏洞案例 131
3.6.3 总结 134
第4章 LANMP安全配置 135
4.1 PHP安全配置 135
4.2 PHP安全扩展 139
4.2.1 taint简介 139
4.2.2 安装taint 140
4.2.3 测试验证 141
4.2.4 小结 144
4.3 Apache安全配置 144
4.3.1 屏蔽版本信息 144
4.3.2 目录权限隔离 145
4.3.3 关闭默认主机 145
4.3.4 低权限运行 145
4.3.5 防止用户自定义设置 145
4.3.6 禁止显示目录 146
4.4 Nginx安全配置 148
4.4.1 配置防御 148
4.4.2 防止权限扩大 149
4.4.3 WAF扩展 150
4.4.4 Nginx解析漏洞 152
4.5 Redis配置 154
4.5.1 漏洞成因 154
4.5.2 漏洞案例 156
4.5.3 小结 157
4.6 MySQL安全配置 157
4.6.1 权限安全 157
4.6.2 网络配置 162
4.6.3 MySQL日志 163
4.6.4 主机配置 164
4.6.5 启动选项 165
第5章 认证与加密 167
5.1 数据加密与签名 167
5.1.1 对称加密与非对称加密 167
5.1.2 数字签名 169
5.1.3 数字证书 170
5.2 HTTPS安全 171
5.2.1 HTTPS简介 171
5.2.2 HTTPS被攻击的方式 173
5.2.3 常见误区 174
5.3 密码加密策略 175
5.3.1 密码存储 176
5.3.2 密码传输 178
5.3.3 漏洞案例 178
5.3.4 总结 180
第6章 其他Web安全主题 181
6.1 DDoS攻击 181
6.1.1 DDoS分类 182
6.1.2 应对方案 183
6.1.3 漏洞案例 184
6.1.4 小结 186
6.2 CMS通用漏洞 186
6.2.1 漏洞简介 186
6.2.2 等级划分 187
6.2.3 漏洞案例 188
6.2.4 防御方法 191
6.3 网页挂马 192
6.3.1 挂马类型 193
6.3.2 挂马检测 194
6.3.3 小结 196
6.4 Burp Suite 196
6.4.1 拦截数据包 197
6.4.2 修改数据包 198
6.4.3 页面链接抓取 199
6.4.4 自动化挖掘 201
6.4.5 暴力破解 201
6.5 SQLMap 203
6.5.1 查看数据库账户 205
6.5.2 查看数据库中的所有账户 206
6.5.3 获取所有数据库名称 207
6.5.4 获取数据库表名称 208
6.5.5 查看表结构 209
6.5.6 导出数据 210