第1章 sqlmap渗透必备基础 1
1.1 Windows密码获取与破解 2
1.1.1 Windows密码获取思路 2
1.1.2 Windows密码哈希值获取工具 2
1.1.3 Windows密码哈希值获取命令及方法 4
1.1.4 Windows密码哈希值破解方法 8
1.1.5 物理接触获取Windows系统密码 12
1.1.6 个人计算机密码安全防范方法和措施 14
1.2 一句话后门工具的利用及操作 14
1.2.1 “中国菜刀”工具的使用及管理 15
1.2.2 有关一句话后门的收集与整理 17
1.2.3 使用技巧及总结 20
1.3 数据库在线导出工具Adminer 20
1.3.1 准备工作 21
1.3.2 使用Adminer管理数据库 21
1.3.3 安全防范及总结 24
1.4 提权辅助工具Windows-Exploit-Suggester 25
1.4.1 Windows-Exploit-Suggester简介 25
1.4.2 使用Windows-Exploit-Suggester 25
1.4.3 技巧与高级利用 27
1.5 CMS指纹识别技术及应用 32
1.5.1 指纹识别技术简介及思路 33
1.5.2 指纹识别方式 33
1.5.3 国外指纹识别工具 35
1.5.4 国内指纹识别工具 38
1.5.5 在线指纹识别工具 40
1.5.6 总结与思考 40
1.6 子域名信息收集 41
1.6.1 子域名收集方法 41
1.6.2 Kali下子域名信息收集工具 43
1.6.3 Windows下子域名信息收集工具 50
1.6.4 子域名在线信息收集 51
1.6.5 子域名利用总结 53
1.7 使用NMap扫描Web服务器端口 53
1.7.1 安装与配置NMap 54
1.7.2 端口扫描准备工作 55
1.7.3 NMap使用参数介绍 55
1.7.4 Zenmap扫描命令模板 61
1.7.5 使用NMap中的脚本进行扫描 62
1.7.6 NMap扫描实战 66
1.7.7 扫描结果分析及处理 68
1.7.8 扫描后期渗透思路 71
1.7.9 扫描安全防范 72
1.8 使用AWVS扫描及利用网站漏洞 72
1.8.1 AWVS简介 72
1.8.2 使用AWVS扫描网站漏洞 73
1.8.3 扫描结果分析 74
1.9 使用JSky扫描并渗透某管理系统 75
1.9.1 使用JSky扫描漏洞点 76
1.9.2 使用Pangolin进行SQL注入探测 76
1.9.3 换一个工具进行检查 76
1.9.4 检测表段和字段 77
1.9.5 获取管理员入口并进行登录测试 78
1.9.6 获取漏洞的完整扫描结果及安全评估 80
1.9.7 探讨与思考 80
1.10 phpMyAdmin漏洞利用与安全防范 82
1.10.1 MySQL root账号密码获取思路 83
1.10.2 获取网站的真实路径思路 83
1.10.3 MySQL root账号webshell获取思路 84
1.10.4 无法通过phpMyAdmin直接获取webshell 88
1.10.5 phpMyAdmin漏洞防范方法 89
1.11 文件上传及解析漏洞 90
1.11.1 文件上传漏洞利用总结 90
1.11.2 常见的文件上传漏洞 90
1.11.3 常见Web编辑器文件上传漏洞总结 92
1.11.4 常见的文件解析漏洞 99
1.11.5 常见上传绕过漏洞利用及总结 100
第2章 sqlmap安装及使用 105
2.1 sqlmap简介及安装 106
2.1.1 sqlmap简介 106
2.1.2 Windows 10下安装sqlmap 106
2.1.3 Kali下安装sqlmap 110
2.2 搭建DVWA渗透测试平台 111
2.2.1 Windows下搭建DVWA渗透测试平台 112
2.2.2 Kali 2016下搭建DVWA渗透测试平台 114
2.2.3 Kali 2017下搭建DVWA渗透测试平台 117
2.3 sqImap目录及结构 119
2.3.1 sqlmap文件目录及主文件 119
2.3.2 sqlmap文件目录解读 120
2.3.3 子目录解读 121
2.4 sqlmap使用攻略及技巧 127
2.4.1 sqlmap简介 127
2.4.2 下载及安装 127
2.4.3 SQL使用参数详解 128
2.4.4 检测和利用SQL注入 137
2.4.5 直接连接数据库 139
2.4.6 数据库相关操作 139
2.4.7 sqlmap实用技巧 140
2.4.8 安全防范 145
第3章 使用sqlmap进行注入攻击 146
3.1 使用sqlmap进行ASP网站注入 147
3.1.1 ASP网站获取webshell的思路及方法 147
3.1.2 目标站点漏洞扫描 148
3.1.3 对SQL注入漏洞进行交叉测试 149
3.1.4 使用sqlmap进行测试 150
3.1.5 后渗透时间——获取webshell 155
3.1.6 ASP网站注入安全防御 158
3.2 使用sqlmap对某PHP网站进行注入实战 158
3.2.1 PHP注入点的发现及扫描 159
3.2.2 使用sqlmap进行SQL注入测试 160
3.2.3 PHP网站webshell获取 163
3.2.4 艰难的后台地址获取 167
3.2.5 PHP网站SQL注入防御及总结 169
3.3 使用sqlmap进行SOAP注入 170
3.3.1 SOAP简介 170
3.3.2 SOAP注入漏洞 171
3.3.3 SOAP注入漏洞扫描 172
3.3.4 使用sqlmap进行SOAP注入实战 174
3.3.5 SOAP注入漏洞防范方法及渗透总结 177
3.4 BurpSuite抓包配合sqlmap实施SQL注入 177
3.4.1 sqlmap使用方法 177
3.4.2 BurpSuite抓包 178
3.4.3 使用sqlmap进行注入 180
3.4.4 使用技巧和总结 182
3.5 使用sqlmap进行X-Forwarded头文件注入 183
3.5.1 X-Forwarded注入简介 183
3.5.2 X-Forwarded CTF注入实战 185
3.5.3 总结与防范 190
3.6 借用SQLiPy实现sqlmap自动化注入 191
3.6.1 准备工作 191
3.6.2 设置SQLMap API及IE代理 195
3.6.3 使用BurpSuite拦截并提交数据 196
3.6.4 使用SQLiPy进行扫描 197
3.6.5 总结与讨论 200
3.7 sqlmap利用搜索引擎获取目标地址进行注入 200
3.7.1 Google黑客语法 200
3.7.2 Google黑客入侵方法及思路 204
3.7.3 sqlmap利用搜索引擎进行注入 205
3.7.4 实际测试案例 207
3.8 sqlmap及其他安全工具进行漏洞综合利用 209
3.8.1 安全工具交叉使用的思路 209
3.8.2 数据库内容获取思路及方法 211
3.8.3 对某网站的一次漏洞扫描及漏洞利用示例 212
3.8.4 总结与思考 217
3.9 使用sqlmap进行ashx注入 217
3.9.1 批量扫描某目标网站 218
3.9.2 SQL注入漏洞利用 219
3.9.3 获取后台管理员权限 222
3.9.4 渗透总结及安全防范 223
3.10 使用tamper绕过时间戳进行注入 224
3.10.1 时间戳简介 224
3.10.2 分析sqlmap中的插件代码 225
3.10.3 编写绕过时间戳代码 226
第4章 使用sqlmap获取webshell 229
4.1 MySQL获取webshell及提权基础 230
4.1.1 MySQL连接 230
4.1.2 数据库密码操作 231
4.1.3 数据库操作命令 232
4.1.4 MySQL提权必备条件 236
4.1.5 MySQL密码获取与破解 236
4.1.6 MySQL获取webshell 239
4.1.7 MySQL渗透技巧总结 239
4.2 SQL Server获取webshell及提权基础 243
4.2.1 SQL Server简介 243
4.2.2 SQL Server版本 243
4.2.3 sa口令密码获取 245
4.2.4 常见SQL Server基础命令 246
4.2.5 常见SQL Server提权命令 250
4.2.6 数据库备份获取webshell 256
4.2.7 清除SQL Server日志 256
4.3 使用sqlmap直连MySQL获取webshell 257
4.3.1 适用场景 257
4.3.2 扫描获取root账号的密码 257
4.3.3 获取shell 258
4.3.4 实例演示 259
4.4 使用sqlmap直连MSSQL获取webshell或权限 263
4.4.1 MSSQL数据获取webshell相关命令 263
4.4.2 MSSQL数据获取webshell思路和方法 266
4.4.3 sqlmap直连数据获取webshell 269
4.4.4 利用漏洞搜索引擎搜索目标 271
4.4.5 构造SQL注入后门 271
4.5 sqlmap注入获取webshell及系统权限研究 272
4.5.1 sqlmap获取webshell及提权常见命令 272
4.5.2 获取webshell或shell条件 275
4.5.3 获取webshell权限思路及命令 276
4.5.4 获取system权限思路 277
4.6 MySQL数据库导入与导出攻略 278
4.6.1 Linux下MySQL数据库导入与导出 278
4.6.2 Windows下MySQL数据库导入与导出 282
4.6.3 HTML文件导入MySQL数据库 282
4.6.4 MSSQL数据库导入MySQL数据库 287
4.6.5 XLS或XLSX文件导入MySQL数据库 288
4.6.6 Navicat for MySQL导入XML数据 288
4.6.7 Navicat代理导入数据 292
4.6.8 导入技巧和出错处理 293
4.7 使用EW代理导出和导入MSSQL数据 295
4.7.1 设置代理 295
4.7.2 设置Navicat for SQL Server 297
4.7.3 导出数据库 298
4.7.4 导入SQL Server数据库 299
4.8 sqlmap数据库拖库攻击与防范 300
4.8.1 sqlmap数据库拖库攻击简介 300
4.8.2 sqlmap直连数据库 301
4.8.3 sqlmap获取数据库方法及思路 302
4.8.4 MSSQL数据获取的那些“坑” 304
4.8.5 数据导出经验 306
4.8.6 企业拖库攻击安全防范 307
第5章 使用sqlmap进行数据库渗透及防御 310
5.1 使用sqlmap进行Access注入及防御 311
5.1.1 Access数据库简介 311
5.1.2 Access注入基础 311
5.1.3 sqlmap思路及命令 313
5.1.4 Access其他注入 314
5.1.5 Access SQL注入实战案例 315
5.1.6 SQL通用防注入系统ASP版获取webshell 319
5.1.7 安全防御 322
5.2 使用sqlmap进行MSSQL注入及防御 324
5.2.1 MSSQL数据库注入简介 324
5.2.2 MSSQL数据库注入判断 325
5.2.3 使用sqlmap进行MSSQL数据库SQL注入流程 327
5.2.4 漏洞手工测试或扫描 329
5.2.5 使用sqlmap进行SQL注入实际测试 329
5.3 使用sqlmap进行MySQL注入并渗透某服务器 333
5.3.1 检测SQL注入点 333
5.3.2 获取当前数据库信息 334
5.3.3 获取当前数据库表 335
5.3.4 获取admins表列和数据 335
5.3.5 获取webshell 335
5.3.6 总结及技巧 337
5.4 使用sqlmap进行Oracle数据库注入及防御 338
5.4.1 Oracle数据库注入基础 338
5.4.2 使用sqlmap进行Oracle数据库注入命令 342
5.4.3 使用AWVS进行漏洞扫描 344
5.4.4 SQL盲注漏洞利用 345
5.5 MySQL数据库渗透及漏洞利用总结 348
5.5.1 MySQL信息收集 348
5.5.2 MySQL密码获取 350
5.5.3 MySQL获取webshell 352
5.5.4 webshell上传MOF文件提权 352
5.5.5 MSF直接MOF提权 353
5.5.6 UDF提权 354
5.5.7 无法获取webshell提权 357
5.5.8 sqlmap直连数据库提权 359
5.5.9 MSF下UDF提权 359
5.5.10 启动项提权 360
5.5.11 MSF下模块 exploit/windows/mysql/mysql_start_up提权 361
5.5.12 MSF其他相关漏洞提权 361
5.5.13 MySQL密码破解 362
5.6 内网与外网MSSQL口令扫描渗透及防御 363
5.6.1 使用SQLPing扫描获取MSSQL口令 363
5.6.2 扫描并破解密码 364
5.6.3 使用SQLTOOLS进行提权 364
5.6.4 登录远程终端 369
5.6.5 总结与提高 370
第6章 使用sqlmap进行渗透实战 371
6.1 使用sqlmap渗透某网站 372
6.1.1 漏洞扫描与发现 372
6.1.2 MySQL注入漏洞利用思路和方法 372
6.1.3 实战:渗透某传销网站 373
6.1.4 渗透总结与防御 379
6.2 使用sqlmap曲折渗透某服务器 379
6.2.1 使用sqlmap渗透常规思路 380
6.2.2 使用sqlmap进行全自动获取 381
6.2.3 直接提权失败 381
6.2.4 使用sqlmap获取sql-shell权限 381
6.2.5 尝试获取webshell及提权 385
6.2.6 尝试写入文件 386
6.2.7 社工账号登录服务器 389
6.2.8 渗透总结与防御 390
6.3 SOAP注入某SQL 2008服务器结合MSF进行提权 390
6.3.1 扫描SOAP注入漏洞 391
6.3.2 确认SOAP注入漏洞 392
6.3.3 通过--os-shell获取webshell 395
6.3.4 常规方法提权失败 399
6.3.5 借助MSF进行ms16-075提权 400
6.3.6 渗透总结与防御 404
6.4 SOAP注入MSSQL数据库sa权限处理思路及实战 406
6.4.1 注入点获取webshell及服务器权限思路 406
6.4.2 渗透中命令提示符下的文件上传方法 409
6.4.3 SOAP注入漏洞扫描及发现 412
6.4.4 使用sqlmap对SOAP注入点进行验证和测试 414
6.4.5 获取服务器权限 417
6.4.6 渗透总结与防御 419
6.5 FCKeditor漏洞实战逐步渗透某站点 420
6.5.1 目标信息收集与扫描 420
6.5.2 FCKeditor编辑器漏洞利用 422
6.5.3 SOAP服务注入漏洞 424
6.5.4 服务器权限及密码获取 431
6.5.5 安全对抗 433
6.5.6 数据库导出 434
6.5.7 渗透总结与防御 436
6.6 SQL注入及redis漏洞渗透某公司站点 437
6.6.1 信息收集 437
6.6.2 SQL注入 439
6.6.3 后台密码加密分析 441
6.6.4 redis漏洞利用获取webshell 443
6.6.5 渗透总结与防御 444
6.7 CTF中的普通SQL注入题分析 445
6.7.1 SQL注入解题思路 445
6.7.2 SQL注入方法 445
6.7.3 CTF实战PHP SQL注入 446
6.7.4 CTF实战ASP SQL注入 448
6.8 利用sqlmap渗透某站点 450
6.8.1 发现并测试SQL注入漏洞 450
6.8.2 获取webshell及提权 451
6.8.3 突破内网进入服务器 454
6.8.4 渗透总结与防御 455
6.9 扫描并渗透某快播站点 456
6.9.1 扫描结果分析 456
6.9.2 使用sqlmap进行get参数注入 458
6.9.3 渗透利用思路 461
6.9.4 渗透总结与防御 461
第7章 使用sqlmap绕过WAF防火墙 463
7.1 Access数据库手工绕过通用代码防注入系统 464
7.1.1 获取目标信息 464
7.1.2 测试是否存在SQL注入 464
7.1.3 绕过SQL防注入系统 465
7.1.4 Access数据库获取webshell方法 470
7.2 sqlmap绕过WAF进行Access注入 471
7.2.1 注入绕过原理 471
7.2.2 修改space2plus.py脚本 471
7.2.3 使用sqlmap进行注入 472
7.2.4 总结 473
7.3 利用IIS解析漏洞渗透并绕过安全狗 473
7.3.1 通过文件上传获取webshell 474
7.3.2 信息查看及提权 476
7.3.3 渗透总结与安全防范 479
7.4 Windows 2003下SQL 2005绕过安全狗提权 480
7.4.1 扫描获取口令 480
7.4.2 基本信息收集 480
7.4.3 添加管理员提权失败 481
7.4.4 寻求突破 482
7.4.5 绕过安全狗的其他方法 485
7.4.6 总结 486
7.5 安全狗Apache版4.0 SQL注入绕过测试 487
7.5.1 部署测试环境 487
7.5.2 测试方法 488
7.5.3 使用/*!union/*/*?26600340*/select*/绕过安全狗 489
7.5.4 使用/*?5b00e0*//*!union/*/*?0*//*!select*/绕过安全狗 490
7.5.5 其他可绕过安全狗的WAF语句 490
7.6 对于免费版的云锁XSS和SQL注入漏洞绕过测试 492
7.6.1 概述 492
7.6.2 环境搭建 492
7.6.3 使用默认XSS代码进行测试 495
7.6.4 使用绕过代码进行测试 495
7.6.5 SQL注入绕过测试 496
7.6.6 总结 497
7.7 sqlmap使用tamper绕过WAF 497
7.7.1 tamper简介 497
7.7.2 sqlmap WAF检测 498
7.7.3 tamper绕过WAF脚本列表注释 499
7.7.4 sqlmap tamper脚本“懒人”使用技巧 506
7.7.5 sqlmap tamper加载代码 507
7.7.6 sqlmap-tamper自研详解 510
第8章 安全防范及日志检查 515
8.1 网站挂马检测与清除 516
8.1.1 检测网页木马程序 516
8.1.2 清除网站中的恶意代码 520
8.1.3 总结 522
8.2 使用逆火日志分析器分析日志 522
8.2.1 逆火网站日志分析器简介及安装 522
8.2.2 设置使用逆火网站日志分析器 523
8.2.3 使用逆火网站日志分析器进行日志分析 525
8.2.4 逆火网站日志分析器实用技巧 527
8.3 对某入侵网站的一次快速处理 528
8.3.1 入侵情况分析 528
8.3.2 服务器第一次安全处理 532
8.3.3 服务器第二次安全处理 536
8.3.4 日志分析和追踪 538
8.3.5 总结及分析 540
8.4 对某邮件盗号诈骗团伙的追踪分析和研究 540
8.4.1 “被骗80万元”事件起因及技术分析 540
8.4.2 线索工作思路 543
8.4.3 艰难的信息追踪 544
8.4.4 对目标线索进行渗透——看见曙光却是黑夜 548
8.4.5 再次分析和研究 550
8.4.6 邮件登录分析 551
8.4.7 安全防范和对抗思路 552
8.4.8 后记 553
8.5 使用D盾进行网站安全检查 554
8.5.1 D盾简介及安装 554
8.5.2 D盾渗透利用及安全检查思路 555
8.5.3 使用D盾对某代码进行安全检查 556
8.5.4 总结 559
8.6 SSH入侵事件日志分析和跟踪 560
8.6.1 实验环境 560
8.6.2 实施SSH暴力破解攻击 561
8.6.3 登录SSH服务器进行账号验证 564
8.6.4 日志文件介绍 565
8.6.5 分析登录日志 566
8.7 对某Linux服务器登录连接日志分析 568
8.7.1 Linux记录用户登录信息文件 568
8.7.2 last/lastb命令查看用户登录信息 569
8.7.3 lastlog命令查看最后登录情况 571
8.7.4 ac命令统计用户连接时间 573
8.7.5 w、who及users命令 573
8.7.6 utmpdump命令 574
8.7.7 取证思路 576
8.7.8 记录Linux用户所有操作脚本 576
8.8 对某网站被挂黑广告源头日志分析 577
8.8.1 事件介绍 577
8.8.2 广告系统漏洞分析及黑盒测试 578
8.8.3 日志文件分析 580
8.8.4 后台登录确认及IP地址追溯 581
8.8.5 总结与思考 582
8.9 SQL注入攻击技术及其防范研究 582
8.9.1 SQL注入技术定义 582
8.9.2 SQL注入攻击特点 583
8.9.3 SQL注入攻击的实现原理 583
8.9.4 SQL注入攻击检测方法与防范 585
8.9.5 SQL注入攻击防范模型 586