Web安全攻防
渗透测试实战指南(第二版)
目录
第1章 渗透测试之信息收集 (在线阅读)
1.1 常见的Web渗透信息收集方式 1
1.1.1 域名信息收集 1
1.1.2 敏感信息和目录收集 6
1.1.3 子域名信息收集 11
1.1.4 旁站和C段 16
1.1.5 端口信息收集 20
1.1.6 指纹识别 23
1.1.7 绕过目标域名CDN进行信息收集 27
1.1.8 WAF信息收集 33
1.2 社会工程学 37
1.2.1 社会工程学是什么 37
1.2.2 社会工程学的攻击方式 37
1.3 信息收集的综合利用 40
1.3.1 信息收集前期 40
1.3.2 信息收集中期 42
1.3.3 信息收集后期 43
1.4 本章小结 45
第2章 漏洞环境 (在线阅读)
2.1 安装Docker 46
2.1.1 在Ubuntu操作系统中安装Docker 46
2.1.2 在Windows操作系统中安装Docker 48
2.2 搭建DVWA 51
2.3 搭建SQLi-LABS 53
2.4 搭建upload-labs 54
2.5 搭建XSS测试平台 55
2.6 搭建本书漏洞测试环境 57
2.7 本章小结 59
第3章常用的渗透测试工具 (在线阅读)
3.1 SQLMap详解 60
3.1.1 SQLMap的安装 60
3.1.2 SQLMap入门 61
3.1.3 SQLMap进阶:参数讲解 67
3.1.4 SQLMap自带tamper绕过脚本的讲解 70
3.2 Burp Suite详解 80
3.2.1 Burp Suite的安装 80
3.2.2 Burp Suite入门 82
3.2.3 Burp Suite进阶 85
3.2.4 Burp Suite中的插件 99
3.3 Nmap详解 105
3.3.1 Nmap的安装 105
3.3.2 Nmap入门 106
3.3.3 Nmap进阶 115
3.4 本章小结 120
第4章 Web安全原理剖析 (在线阅读)
4.1 暴力破解漏洞 121
4.1.1 暴力破解漏洞简介 121
4.1.2 暴力破解漏洞攻击 121
4.1.3 暴力破解漏洞代码分析 122
4.1.4 验证码识别 123
4.1.5 暴力破解漏洞修复建议 125
4.2 SQL注入漏洞基础 126
4.2.1 SQL注入漏洞简介 126
4.2.2 SQL注入漏洞原理 127
4.2.3 MySQL中与SQL注入漏洞相关的知识点 127
4.2.4 Union注入攻击 131
4.2.5 Union注入代码分析 137
4.2.6 Boolean注入攻击 137
4.2.7 Boolean注入代码分析 141
4.2.8 报错注入攻击 142
4.2.9 报错注入代码分析 144
4.3 SQL注入漏洞进阶 145
4.3.1 时间注入攻击 145
4.3.2 时间注入代码分析 147
4.3.3 堆叠查询注入攻击 148
4.3.4 堆叠查询注入代码分析 149
4.3.5 二次注入攻击 150
4.3.6 二次注入代码分析 152
4.3.7 宽字节注入攻击 154
4.3.8 宽字节注入代码分析 158
4.3.9 Cookie注入攻击 159
4.3.10 Cookie注入代码分析 160
4.3.11 Base64注入攻击 161
4.3.12 Base64注入代码分析 163
4.3.13 XFF注入攻击 164
4.3.14 XFF注入代码分析 166
4.3.15 SQL注入漏洞修复建议 167
4.4 XSS漏洞基础 170
4.4.1 XSS漏洞简介 170
4.4.2 XSS漏洞原理 171
4.4.3 反射型XSS漏洞攻击 172
4.4.4 反射型XSS漏洞代码分析 174
4.4.5 存储型XSS漏洞攻击 175
4.4.6 存储型XSS漏洞代码分析 176
4.4.7 DOM型XSS漏洞攻击 177
4.4.8 DOM型XSS漏洞代码分析 179
4.5 XSS漏洞进阶 180
4.5.1 XSS漏洞常用的测试语句及编码绕过 180
4.5.2 使用XSS平台测试XSS漏洞 181
4.5.3 XSS漏洞修复建议 184
4.6 CSRF漏洞 187
4.6.1 CSRF漏洞简介 187
4.6.2 CSRF漏洞原理 187
4.6.3 CSRF漏洞攻击 187
4.6.4 CSRF漏洞代码分析 189
4.6.5 XSS+CSRF漏洞攻击 192
4.6.6 CSRF漏洞修复建议 198
4.7 SSRF漏洞 201
4.7.1 SSRF漏洞简介 201
4.7.2 SSRF漏洞原理 201
4.7.3 SSRF漏洞攻击 201
4.7.4 SSRF漏洞代码分析 203
4.7.5 SSRF漏洞绕过技术 204
4.7.6 SSRF漏洞修复建议 207
4.8 文件上传漏洞 209
4.8.1 文件上传漏洞简介 209
4.8.2 有关文件上传漏洞的知识 209
4.8.3 JavaScript检测绕过攻击 210
4.8.4 JavaScript检测绕过代码分析 211
4.8.5 文件后缀绕过攻击 213
4.8.6 文件后缀绕过代码分析 214
4.8.7 文件Content-Type绕过攻击 214
4.8.8 文件Content-Type绕过代码分析 216
4.8.9 文件截断绕过攻击 217
4.8.10 文件截断绕过代码分析 218
4.8.11 竞争条件攻击 220
4.8.12 竞争条件代码分析 221
4.8.13 文件上传漏洞修复建议 222
4.9 命令执行漏洞 227
4.9.1 命令执行漏洞简介 227
4.9.2 命令执行漏洞攻击 227
4.9.3 命令执行漏洞代码分析 229
4.9.4 命令执行漏洞修复建议 229
4.10 越权访问漏洞 230
4.10.1 越权访问漏洞简介 230
4.10.2 越权访问漏洞攻击 230
4.10.3 越权访问漏洞代码分析 232
4.10.4 越权访问漏洞修复建议 234
4.11 XXE漏洞 235
4.11.1 XXE漏洞简介 235
4.11.2 XXE漏洞攻击 236
4.11.3 XXE漏洞代码分析 237
4.11.4 XXE漏洞修复建议 237
4.12 反序列化漏洞 238
4.12.1 反序列化漏洞简介 238
4.12.2 反序列化漏洞攻击 241
4.12.3 反序列化漏洞代码分析 242
4.12.4 反序列化漏洞修复建议 243
4.13 逻辑漏洞 243
4.13.1 逻辑漏洞简介 243
4.13.2 逻辑漏洞攻击 244
4.13.3 逻辑漏洞代码分析 246
4.13.4 逻辑漏洞修复建议 247
4.14 本章小结 248
第5章 WAF绕过
5.1 WAF那些事儿 249
5.1.1 WAF简介 249
5.1.2 WAF分类 250
5.1.3 WAF的处理流程 251
5.1.4 WAF识别 251
5.2 SQL注入漏洞绕过 254
5.2.1 大小写绕过 254
5.2.2 替换关键字绕过 256
5.2.3 编码绕过 257
5.2.4 内联注释绕过 260
5.2.5 HTTP参数污染 262
5.2.6 分块传输 263
5.2.7 SQLMap绕过WAF 265
5.3 WebShell变形 268
5.3.1 WebShell简介 269
5.3.2 自定义函数 270
5.3.3 回调函数 271
5.3.4 脚本型WebShell 272
5.3.5 加解密 272
5.3.6 反序列化 274
5.3.7 类的方法 274
5.3.8 其他方法 275
5.4 文件上传漏洞绕过 277
5.4.1 换行绕过 278
5.4.2 多个等号绕过 279
5.4.3 00截断绕过 280
5.4.4 文件名加“;”绕过 280
5.4.5 文件名加“'”绕过 282
5.5 本章小结 283
第6章 实用渗透技巧
6.1 针对云环境的渗透 284
6.1.1 云术语概述 284
6.1.2 云渗透思路 285
6.1.3 云渗透实际运用 286
6.1.4 云渗透实战案例 301
6.2 针对Redis服务的渗透 313
6.2.1 Redis基础知识 313
6.2.2 Redis渗透思路 316
6.2.3 Redis渗透之写入WebShell 317
6.2.4 Redis渗透之系统DLL劫持 318
6.2.5 Redis渗透之针对特定软件的DLL劫持 320
6.2.6 Redis渗透之覆写目标的快捷方式 321
6.2.7 Redis渗透之覆写特定软件的配置文件以达到提权目的 322
6.2.8 Redis渗透之覆写sethc.exe等文件 323
6.2.9 Redis渗透实战案例 325
6.3 本章小结 337
第7章 实战代码审计
7.1 代码审计的学习路线 338
7.2 常见自编码漏洞的审计 339
7.2.1 SQL注入漏洞审计 339
7.2.2 XSS漏洞审计 348
7.2.3 文件上传漏洞审计 349
7.2.4 水平越权漏洞审计 351
7.2.5 垂直越权漏洞审计 353
7.2.6 代码执行漏洞审计 356
7.2.7 CSRF漏洞审计 357
7.2.8 URL重定向漏洞审计 360
7.3 通用型漏洞的审计 362
7.3.1 Java反序列化漏洞审计 363
7.3.2 通用型未授权漏洞审计 370
7.4 本章小结 372
第8章 Metasploit和PowerShell技术实战
8.1 Metasploit技术实战 373
8.1.1 Metasploit的历史 373
8.1.2 Metasploit的主要特点 374
8.1.3 Metasploit的使用方法 375
8.1.4 Metasploit的攻击步骤 378
8.1.5 实验环境 378
8.1.6 信息收集 379
8.1.7 建立通信隧道 380
8.1.8 域内横向移动 382
8.1.9 权限维持 384
8.2 PowerShell技术实战 387
8.2.1 为什么需要学习PowerShell 387
8.2.2 最重要的两个PowerShell命令 388
8.2.3 PowerShell脚本知识 393
8.3 本章小结 395
第9章 实例分析
9.1 代码审计实例分析 396
9.1.1 SQL注入漏洞实例分析 396
9.1.2 文件删除漏洞实例分析 398
9.1.3 文件上传漏洞实例分析 399
9.1.4 添加管理员漏洞实例分析 405
9.1.5 竞争条件漏洞实例分析 410
9.1.6 反序列化漏洞实例分析 413
9.2 渗透测试实例分析 419
9.2.1 后台爆破漏洞实例分析 419
9.2.2 SSRF+Redis获得WebShell实例分析 421
9.2.3 旁站攻击实例分析 428
9.2.4 重置密码漏洞实例分析 430
9.2.5 SQL注入漏洞绕过实例分析 432
9.3 本章小结