推荐序
前言
第1章 渗透测试概述 1
1.1 信息安全发展史 1
1.2 信息安全行业的现状 4
1.3 渗透测试的基本流程 5
1.4 渗透测试的具体方法 8
1.5 小结 15
第2章 Python语言基础 16
2.1 Python环境的搭建 16
2.1.1 Windows系统下的安装 17
2.1.2 Linux系统下的安装 19
2.2 编写第一个Python程序 20
2.3 Python模块的安装与使用 21
2.4 Python序列 23
2.4.1 列表 23
2.4.2 元组 26
2.4.3 字典 26
2.5 Python控制结构 28
2.5.1 选择结构 28
2.5.2 循环结构 28
2.6 文件处理 29
2.7 异常处理结构 32
2.8 Socket网络编程 34
2.9 可执行文件的转换 36
2.9.1 在Windows系统下转换 36
2.9.2 在Linux系统下转换 38
2.10 小结 39
第3章 渗透测试框架 40
3.1 Pocsuite框架 40
3.1.1 功能介绍 41
3.1.2 安装 41
3.1.3 使用方法 42
3.2 POC脚本编写 44
3.2.1 Flask服务器模板环境搭建 44
3.2.2 POC脚本的编写步骤 45
3.3 EXP脚本编写 48
3.4 小结 51
第4章 信息搜集 52
4.1 被动信息搜集 52
4.1.1 DNS解析 52
4.1.2 子域名挖掘 54
4.1.3 邮件爬取 56
4.2 主动信息搜集 60
4.2.1 基于ICMP的主机发现 61
4.2.2 基于TCP、UDP的主机发现 66
4.2.3 基于ARP的主机发现 73
4.2.4 端口探测 77
4.2.5 服务识别 80
4.2.6 系统识别 85
4.2.7 敏感目录探测 88
4.3 网络空间搜索引擎 89
4.3.1 常见搜索引擎平台 90
4.3.2 搜索引擎语法 92
4.3.3 搜索引擎API的使用 95
4.4 小结 98
第5章 漏洞检测与防御 99
5.1 未授权访问漏洞 99
5.1.1 Redis未授权访问漏洞 99
5.1.2 漏洞利用 100
5.1.3 检测方法 103
5.1.4 防御策略 107
5.2 外部实体注入漏洞 107
5.2.1 简介 107
5.2.2 检测方法 111
5.2.3 防御策略 114
5.3 SQL盲注漏洞 114
5.3.1 简介 114
5.3.2 基于布尔型SQL盲注检测 114
5.3.3 基于时间型SQL盲注检测 123
5.3.4 防御策略 127
5.4 SQLMap的Tamper脚本 128
5.4.1 简介 128
5.4.2 Tamper脚本的编写(一) 131
5.4.3 Tamper脚本的编写(二) 139
5.5 服务器端请求伪造漏洞 145
5.5.1 简介 145
5.5.2 检测方法 146
5.5.3 防御策略 147
5.6 网络代理 148
5.7 小结 152
第6章 数据加密 153
6.1 常见的加密算法 153
6.1.1 对称加密算法 154
6.1.2 非对称加密算法 155
6.1.3 分组密码工作模式 156
6.2 PyCryptodome库安装 160
6.3 Base64编/解码 160
6.3.1 Base64编码原理 161
6.3.2 用Python实现Base64编/解码 163
6.4 DES加密算法 164
6.4.1 DES加密原理 164
6.4.2 用Python实现DES加解密 166
6.5 AES加密算法 167
6.5.1 AES加密原理 167
6.5.2 用Python实现AES加解密 169
6.6 MD5加密算法 171
6.6.1 MD5加密原理 171
6.6.2 用Python实现MD5加密 173
6.7 小结 174
第7章 身份认证 175
7.1 社会工程学密码字典 176
7.1.1 字典的生成 176
7.1.2 防御策略 180
7.2 后台弱口令问题 181
7.2.1 编写脚本 181
7.2.2 防御策略 187
7.3 SSH口令问题 187
7.3.1 编写脚本 187
7.3.2 防御策略 192
7.4 FTP口令问题 193
7.4.1 编写脚本 193
7.4.2 防御策略 199
7.5 小结 199
第8章 模糊测试 200
8.1 简介 200
8.2 绕过安全狗 201
8.3 绕过安全狗优化 206
8.4 模糊测试结合WebShell 208
8.5 模糊测试工具 209
8.5.1 XSS模糊测试工具XSStrike 210
8.5.2 Sulley模糊测试框架 211
8.6 防御策略 214
8.7 小结 214
第9章 流量分析 215
9.1 流量嗅探 215
9.1.1 工作原理 216
9.1.2 工具编写 217
9.2 ARP毒化 222
9.2.1 工作原理 223
9.2.2 工具编写 227
9.2.3 防御策略 230
9.3 DoS 231
9.3.1 数据链路层DoS 231
9.3.2 网络层DoS 234
9.3.3 传输层DoS 236
9.3.4 应用层DoS 238
9.3.5 防御策略 241
9.4 小结 241
第10章 Python免杀技术 242
10.1 生成shellcode 242
10.2 shellcode的加载与执行 244
10.3 常见的免杀方式 250
10.4 防御策略 253
10.5 小结 254
第11章 远程控制工具 255
11.1 简介 255
11.2 Python相关的基础模块 256
11.3 被控端的编写 260
11.4 主控端的编写 264
11.5 远程控制工具的使用 268
11.6 Cobalt Strike的使用及拓展 270
11.7 小结 282
附录 Python实战项目 283
展开