第1章 概述 1
1.1 信息安全概述 2
1.1.1 信息安全基本概念 2
1.1.2 信息安全重要性及意义 2
1.2 渗透测试概述 3
1.2.1 渗透测试基本概念 4
1.2.2 渗透测试的流程 4
1.2.3 渗透测试的方法 6
第2章 初窥门径——渗透测试之信息收集 7
2.1 信息收集 8
2.1.1 信息收集目的 8
2.1.2 端口介绍 8
2.1.3 常见网站架构介绍 9
2.2 信息收集方法 10
2.2.1 Nmap 10
2.2.2 目录扫描 12
2.2.3 网站指纹扫描 13
2.2.4 社会工程学 15
第3章 略有小成——渗透测试之主机漏洞利用 17
3.1 口令安全 18
3.1.1 强口令与弱口令 18
3.1.2 口令破解——Hydra 19
3.2 缓冲区漏洞 20
3.2.1 缓冲区溢出 20
3.2.2 “永恒之蓝”及WannaCry勒索病毒 21
3.2.3 “永恒之蓝”漏洞复现及利用过程 22
3.3 中间件安全 32
3.3.1 中间件 32
3.3.2 Tomcat常见漏洞及修复方法 33
3.3.3 WebLogic常见漏洞及修复方法 37
3.3.4 IIS漏洞及修复方法 45
3.3.5 JBoss漏洞及修复方法 50
3.3.6 Memcached安全 52
第4章 驾轻就熟——渗透测试之Web漏洞利用 55
4.1 超文本传输协议 56
4.1.1 基础知识 56
4.1.2 使用Burp来抓包改包 59
4.2 目录遍历漏洞 61
4.2.1 基础知识 61
4.2.2 漏洞检测方法 61
4.2.3 修复方法 62
4.2.4 渗透案例 62
4.3 SQL注入漏洞 63
4.3.1 基础知识 63
4.3.2 漏洞检测方法 64
4.3.3 修复方法 64
4.3.4 渗透案例 65
4.4 跨站脚本漏洞 72
4.4.1 基础知识 72
4.4.2 漏洞检测方法 73
4.4.3 修复方法 74
4.4.4 渗透案例 74
4.5 文件上传漏洞 75
4.5.1 基础知识 75
4.5.2 漏洞检测方法 76
4.5.3 修复方法 76
4.5.4 渗透案例 76
4.6 文件包含漏洞 80
4.6.1 基础知识 80
4.6.2 漏洞检测方法 80
4.6.3 修复方法 81
4.6.4 渗透案例 81
4.7 Java反序列化漏洞 82
4.7.1 漏洞成因 83
4.7.2 漏洞检测方法 85
4.7.3 修复方法 86
4.7.4 渗透案例 87
4.8 越权访问 88
4.8.1 漏洞成因 88
4.8.2 漏洞检测方法 88
4.8.3 修复方法 88
4.8.4 渗透案例 89
4.9 XML实体注入 92
4.9.1 漏洞成因 92
4.9.2 漏洞检测方法 93
4.9.3 修复方法 93
4.9.4 渗透案例 94
4.10 SSRF漏洞 95
4.10.1 漏洞成因 95
4.10.2 漏洞检测方法 95
4.10.3 修复方法 96
4.10.4 渗透案例 96
4.11 CSRF漏洞 98
4.11.1 漏洞成因 98
4.11.2 漏洞检测方法 99
4.11.3 修复方法 99
4.11.4 渗透案例 100
第5章 登堂入室——渗透测试之权限维持及提升 101
5.1 后门 102
5.1.1 webshell 102
5.1.2 Netcat 105
5.1.3 粘滞键后门 109
5.1.4 隐藏技术 111
5.2 提权 116
5.2.1 Windows提权 117
5.2.2 Linux提权 119
5.2.3 数据库提权 120
5.2.4 Metasploit 121
5.3 日志清理 123
5.3.1 常见日志 124
5.3.2 日志位置 124
5.3.3 日志清理 126
第6章 固若金汤——防御安全及攻击溯源 131
6.1 加固基线 132
6.1.1 主机加固 132
6.1.2 数据库加固 135
6.1.3 中间件加固 137
6.2 攻击溯源 141
6.2.1 日志分析 141
6.2.2 流量分析 145
第7章 融会贯通——渗透测试之经典案例 149
7.1 案例一 150
7.1.1 案例描述 150
7.1.2 案例分析 150
7.1.3 操作步骤 150
7.1.4 案例小结 154
7.2 案例二 155
7.2.1 案例描述 155
7.2.2 案例分析 155
7.2.3 操作步骤 155
7.2.4 案例小结 162