Python渗透测试实战

Python渗透测试实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-02
ISBN: 9787115547132
定价: 79.00
36人买过
  • 近年来,Python语言在技术领域得到了广泛的认同,越来越多的人开始学习Python。如今,很多优秀的网络渗透测试工具是用Python开发的。从长远来看,Python将成为网络渗透测试行业的必备语言之一。

    这是一本专门介绍Python在网络渗透测试方面应用的图书。本书通过19章的内容全面而详细地介绍了网络渗透测试的理论与实践,涉及网络的基本原理、Python编程环境的安装和配置、Scapy库、DHCP、DNS、中间人攻击、远程控制、交换机、信息搜集手段、渗透原理、Web服务器、Web服务所面临的威胁、Web渗透测试实例、命令注入漏洞、文件包含漏洞、SQL注入攻击、漏洞的成因、跨站脚本攻击、WAF的工作原理等重要主题。

    本书提供了大量编程实例,与网络安全热点问题紧密结合,既可作为高校相关专业的教学用书,也可作为网络安全爱好者的进阶读物。 李华峰是一名资深的网络安全专业教师,拥有多年的一线教学经验,同时,他也是信息安全顾问和自由撰稿人,非常喜欢钻研技术,近年来编写了多本畅销图书,并且是多本技术图书的译者。多年来他一直从事网络安全渗透测试方面的研究工作,在网络安全部署、网络攻击与防御以及社会工程学等方面有十分丰富的实践经验。 第 1章 我们的设备是如何连接到互联网的 1

    1.1 互联网世界的规则――协议 1

    1.2 两台设备上的应用程序是如何通过互联网进行通信的 2

    1.3 小结 7

    第 2章 工欲善其事,必先利其器 8

    2.1 Python的优势 8

    2.2 Python编程环境的选择 9

    2.2.1 虚拟操作系统的工具VMware 9

    2.2.2 Kali Linux的下载与应用 10

    2.2.3 PyCharm的下载与应用 13

    2.3 小结 19

    第3章 数据包的“基因编辑工具”――Scapy 20

    3.1 Scapy简介 20

    3.2 Scapy中的分层结构 22

    3.3 Scapy中的常用函数 24

    3.4 在Scapy中发送和接收数据包 26

    3.5 Scapy中的抓包函数 28

    3.6 小结 30

    第4章 IP地址都去哪了 31

    4.1 DHCP的工作原理与流程 31

    4.2 用Python程序模拟DHCP客户端 34

    4.2.1 DHCP Discover数据包的构造 35

    4.2.2 DHCP Offer数据包的捕获与解析 38

    4.2.3 DHCP Request数据包的构造 39

    4.3 编写一个DHCP服务器端测试程序 41

    4.4 小结 42

    第5章 你能记住每个网站的IP地址吗 43

    5.1 DNS协议的工作原理与流程 43

    5.2 使用Scapy模拟DNS的请求 46

    5.3 黑客是如何利用DNS协议的 48

    5.3.1 DNS请求泛洪攻击 48

    5.3.2 DNS放大攻击 49

    5.3.3 DNS欺骗 49

    5.4 dnspython模块的使用 51

    5.5 doh-proxy模块的使用 52

    5.6 小结 54

    第6章 网络中有秘密吗 55

    6.1 中间人攻击的原理 55

    6.2 ARP的缺陷 57

    6.3 使用Scapy库编写中间人攻击脚本 61

    6.4 用Scapy库编写网络嗅探程序 63

    6.4.1 将嗅探结果保存为文件 63

    6.4.2 对敏感信息的提取 65

    6.5 实现对HTTPS的中间人攻击 67

    6.5.1 HTTPS与HTTP的区别 67

    6.5.2 证书颁发机构的工作原理 69

    6.5.3 基于HTTPS的中间人攻击 71

    6.6 中间人攻击的解决方案 76

    6.6.1 静态绑定ARP表项 76

    6.6.2 使用DHCP Snooping功能 76

    6.6.3 划分VLAN 77

    6.7 小结 77

    第7章 用Python编写一个远程控制程序 78

    7.1 远程控制程序简介 78

    7.2 编写一个基于SSH的远程控制程序 79

    7.2.1 Telnet与SSH 79

    7.2.2 基于paramiko实现SSH客户端 81

    7.2.3 操作实例 83

    7.3 编写一个远程控制程序的服务器端和客户端 84

    7.3.1 如何使用Python执行系统命令(subprocess模块) 84

    7.3.2 远程控制的服务器端与客户端(套接字模块实现) 88

    7.3.3 远程控制的服务器端与客户端(socketserver模块实现) 91

    7.4 编写一个反向的木马 93

    7.5 编写键盘监听程序 97

    7.6 监听指定窗口的输入 100

    7.7 用Python实现截图功能 102

    7.8 使用Python控制注册表 104

    7.9 用Python控制系统进程 106

    7.10 将Python脚本转化为exe文件 109

    7.11 小结 111

    第8章 交换机面临的威胁 112

    8.1 交换机的工作原理 112

    8.2 MAC地址泛洪攻击 114

    8.2.1 泛洪程序的构造 114

    8.2.2 eNSP仿真环境的建立 114

    8.2.3 通过eNSP中的云与VMware相连 119

    8.3 MAC欺骗攻击 122

    8.4 划分VLAN对抗中间人攻击 123

    8.5 VLAN Hopping技术 124

    8.6 攻击生成树协议 128

    8.7 小结 131

    第9章 用Python实现信息搜集 132

    9.1 信息搜集基础 132

    9.2 用Python实现设备状态扫描 132

    9.2.1 基于ARP的活跃设备发现技术 133

    9.2.2 基于ICMP的活跃设备发现技术 137

    9.2.3 基于TCP的活跃设备发现技术 140

    9.2.4 基于UDP的活跃设备发现技术 142

    9.3 使用Python实现端口扫描 143

    9.3.1 基于TCP全开的端口扫描技术 143

    9.3.2 基于TCP半开的端口扫描技术 146

    9.4 小结 147

    第 10章 用Python对漏洞进行渗透 148

    10.1 黑客发现和利用漏洞的过程 148

    10.1.1 用Nmap来识别目标操作系统类型和安装的应用程序 148

    10.1.2 漏洞渗透库exploit-db 151

    10.1.3 使用Metasploit完成对目标设备的渗透 153

    10.2 使用Python识别操作系统类型和安装的应用程序 156

    10.2.1 python-nmap模块的使用 157

    10.2.2 使用python-nmap模块识别目标设备安装的应用程序 160

    10.2.3 使用python-nmap模块识别目标操作系统 162

    10.3 使用Python实现Metasploit的自动化渗透 164

    10.4 小结 166

    第 11章 Web应用程序运行原理 167

    11.1 Web应用程序是怎样“炼”成的 167

    11.2 程序员是如何开发Web应用程序的 172

    11.2.1 Web应用程序的分层结构 172

    11.2.2 各司其职的程序员 173

    11.3 研究Web应用程序的利器 176

    11.3.1 黑盒测试类工具 176

    11.3.2 白盒测试类工具 177

    11.4 小结 179

    第 12章 Web应用程序安全原理 180

    12.1 Web服务所面临的威胁 180

    12.2 Web服务安全的外部环境因素 181

    12.2.1 操作系统的漏洞 181

    12.2.2 Web服务器应用程序的漏洞 185

    12.2.3 Docker的缺陷 188

    12.3 Web服务安全的内部代码因素 190

    12.3.1 常见的Web应用程序漏洞 190

    12.3.2 Web漏洞测试程序 192

    12.4 建立靶机测试环境 194

    12.5 对Web服务进行信息搜集 196

    12.5.1 检测Web服务器的操作系统类型和安装的应用程序 196

    12.5.2 获取关于目标的whois信息 198

    12.6 小结 199

    第 13章 简单直接的黑客攻击:暴力破解 200

    13.1 用Burp Suite跟踪分析登录的过程 200

    13.2 用Python编写登录程序 204

    13.3 如何在Python程序中保持登录状态 207

    13.4 用Python编写针对登录的暴力破解程序 208

    13.4.1 用Python编写生成字典文件的程序 209

    13.4.2 用Python编写一个DVWA登录的暴力破解程序 212

    13.5 针对目录的暴力破解 214

    13.6 小结 215

    第 14章 Web也有“后门”――命令注入漏洞 216

    14.1 命令注入漏洞产生的原因 216

    14.1.1 系统命令函数 217

    14.1.2 执行多条命令 218

    14.2 如何利用DVWA的命令注入漏洞进行渗透 219

    14.3 用Python编写一个命令注入程序 220

    14.4 如何利用命令注入漏洞实现对服务器的控制 223

    14.5 命令注入漏洞的解决方案 226

    14.6 小结 228

    第 15章 被遗忘的角落:文件包含漏洞 229

    15.1 文件包含漏洞的成因 229

    15.2 文件包含漏洞攻击实例 233

    15.3 用Python编写文件包含漏洞测试程序 235

    15.4 文件包含漏洞的解决方案 237

    15.5 小结 238

    第 16章 令人谈之色变的攻击:SQL注入攻击 239

    16.1 SQL注入漏洞产生的原因 239

    16.2 黑客是如何利用SQL注入漏洞的 243

    16.2.1 利用INFORMATION_SCHEMA数据库进行SQL注入 243

    16.2.2 如何绕过程序的转义机制 244

    16.2.3 SQL Injection 245

    16.3 sqlmap注入工具的使用 247

    16.4 使用Python编写的SQL注入程序 250

    16.5 小结 254

    第 17章 黑客入侵的捷径:上传攻击 255

    17.1 黑客利用上传漏洞的各种技术 255

    17.2 用Python编写上传漏洞渗透程序 260

    17.3 应对上传漏洞的解决方案 262

    17.4 小结 263

    第 18章 来自远方的来信:跨站脚本攻击漏洞 264

    18.1 跨站脚本攻击漏洞的成因 264

    18.2 跨站脚本攻击漏洞攻击实例 266

    18.3 用Python实现跨站脚本攻击漏洞检测 270

    18.4 跨站脚本攻击漏洞的解决方案 271

    18.5 跨站请求伪造漏洞的分析与利用 271

    18.6 小结 275

    第 19章 WAF可以让我们高枕无忧了吗 276

    19.1 入侵者如何检测WAF 276

    19.1.1 网站有无WAF保护的区别 276

    19.1.2 检测目标网站是否使用WAF 277

    19.1.3 检测目标网站使用的WAF产品 279

    19.2 入侵者如何绕过云WAF 283

    19.3 常见的WAF绕过方法 285

    19.3.1 利用WAF的检测范围 286

    19.3.2 WAF与操作系统的解析差异 287

    19.3.3 利用WAF与服务器应用程序的解析差异 291

    19.3.4 编解码技术的差异 293

    19.3.5 其他常用方法 297

    19.4 小结 298
  • 内容简介:
    近年来,Python语言在技术领域得到了广泛的认同,越来越多的人开始学习Python。如今,很多优秀的网络渗透测试工具是用Python开发的。从长远来看,Python将成为网络渗透测试行业的必备语言之一。

    这是一本专门介绍Python在网络渗透测试方面应用的图书。本书通过19章的内容全面而详细地介绍了网络渗透测试的理论与实践,涉及网络的基本原理、Python编程环境的安装和配置、Scapy库、DHCP、DNS、中间人攻击、远程控制、交换机、信息搜集手段、渗透原理、Web服务器、Web服务所面临的威胁、Web渗透测试实例、命令注入漏洞、文件包含漏洞、SQL注入攻击、漏洞的成因、跨站脚本攻击、WAF的工作原理等重要主题。

    本书提供了大量编程实例,与网络安全热点问题紧密结合,既可作为高校相关专业的教学用书,也可作为网络安全爱好者的进阶读物。
  • 作者简介:
    李华峰是一名资深的网络安全专业教师,拥有多年的一线教学经验,同时,他也是信息安全顾问和自由撰稿人,非常喜欢钻研技术,近年来编写了多本畅销图书,并且是多本技术图书的译者。多年来他一直从事网络安全渗透测试方面的研究工作,在网络安全部署、网络攻击与防御以及社会工程学等方面有十分丰富的实践经验。
  • 目录:
    第 1章 我们的设备是如何连接到互联网的 1

    1.1 互联网世界的规则――协议 1

    1.2 两台设备上的应用程序是如何通过互联网进行通信的 2

    1.3 小结 7

    第 2章 工欲善其事,必先利其器 8

    2.1 Python的优势 8

    2.2 Python编程环境的选择 9

    2.2.1 虚拟操作系统的工具VMware 9

    2.2.2 Kali Linux的下载与应用 10

    2.2.3 PyCharm的下载与应用 13

    2.3 小结 19

    第3章 数据包的“基因编辑工具”――Scapy 20

    3.1 Scapy简介 20

    3.2 Scapy中的分层结构 22

    3.3 Scapy中的常用函数 24

    3.4 在Scapy中发送和接收数据包 26

    3.5 Scapy中的抓包函数 28

    3.6 小结 30

    第4章 IP地址都去哪了 31

    4.1 DHCP的工作原理与流程 31

    4.2 用Python程序模拟DHCP客户端 34

    4.2.1 DHCP Discover数据包的构造 35

    4.2.2 DHCP Offer数据包的捕获与解析 38

    4.2.3 DHCP Request数据包的构造 39

    4.3 编写一个DHCP服务器端测试程序 41

    4.4 小结 42

    第5章 你能记住每个网站的IP地址吗 43

    5.1 DNS协议的工作原理与流程 43

    5.2 使用Scapy模拟DNS的请求 46

    5.3 黑客是如何利用DNS协议的 48

    5.3.1 DNS请求泛洪攻击 48

    5.3.2 DNS放大攻击 49

    5.3.3 DNS欺骗 49

    5.4 dnspython模块的使用 51

    5.5 doh-proxy模块的使用 52

    5.6 小结 54

    第6章 网络中有秘密吗 55

    6.1 中间人攻击的原理 55

    6.2 ARP的缺陷 57

    6.3 使用Scapy库编写中间人攻击脚本 61

    6.4 用Scapy库编写网络嗅探程序 63

    6.4.1 将嗅探结果保存为文件 63

    6.4.2 对敏感信息的提取 65

    6.5 实现对HTTPS的中间人攻击 67

    6.5.1 HTTPS与HTTP的区别 67

    6.5.2 证书颁发机构的工作原理 69

    6.5.3 基于HTTPS的中间人攻击 71

    6.6 中间人攻击的解决方案 76

    6.6.1 静态绑定ARP表项 76

    6.6.2 使用DHCP Snooping功能 76

    6.6.3 划分VLAN 77

    6.7 小结 77

    第7章 用Python编写一个远程控制程序 78

    7.1 远程控制程序简介 78

    7.2 编写一个基于SSH的远程控制程序 79

    7.2.1 Telnet与SSH 79

    7.2.2 基于paramiko实现SSH客户端 81

    7.2.3 操作实例 83

    7.3 编写一个远程控制程序的服务器端和客户端 84

    7.3.1 如何使用Python执行系统命令(subprocess模块) 84

    7.3.2 远程控制的服务器端与客户端(套接字模块实现) 88

    7.3.3 远程控制的服务器端与客户端(socketserver模块实现) 91

    7.4 编写一个反向的木马 93

    7.5 编写键盘监听程序 97

    7.6 监听指定窗口的输入 100

    7.7 用Python实现截图功能 102

    7.8 使用Python控制注册表 104

    7.9 用Python控制系统进程 106

    7.10 将Python脚本转化为exe文件 109

    7.11 小结 111

    第8章 交换机面临的威胁 112

    8.1 交换机的工作原理 112

    8.2 MAC地址泛洪攻击 114

    8.2.1 泛洪程序的构造 114

    8.2.2 eNSP仿真环境的建立 114

    8.2.3 通过eNSP中的云与VMware相连 119

    8.3 MAC欺骗攻击 122

    8.4 划分VLAN对抗中间人攻击 123

    8.5 VLAN Hopping技术 124

    8.6 攻击生成树协议 128

    8.7 小结 131

    第9章 用Python实现信息搜集 132

    9.1 信息搜集基础 132

    9.2 用Python实现设备状态扫描 132

    9.2.1 基于ARP的活跃设备发现技术 133

    9.2.2 基于ICMP的活跃设备发现技术 137

    9.2.3 基于TCP的活跃设备发现技术 140

    9.2.4 基于UDP的活跃设备发现技术 142

    9.3 使用Python实现端口扫描 143

    9.3.1 基于TCP全开的端口扫描技术 143

    9.3.2 基于TCP半开的端口扫描技术 146

    9.4 小结 147

    第 10章 用Python对漏洞进行渗透 148

    10.1 黑客发现和利用漏洞的过程 148

    10.1.1 用Nmap来识别目标操作系统类型和安装的应用程序 148

    10.1.2 漏洞渗透库exploit-db 151

    10.1.3 使用Metasploit完成对目标设备的渗透 153

    10.2 使用Python识别操作系统类型和安装的应用程序 156

    10.2.1 python-nmap模块的使用 157

    10.2.2 使用python-nmap模块识别目标设备安装的应用程序 160

    10.2.3 使用python-nmap模块识别目标操作系统 162

    10.3 使用Python实现Metasploit的自动化渗透 164

    10.4 小结 166

    第 11章 Web应用程序运行原理 167

    11.1 Web应用程序是怎样“炼”成的 167

    11.2 程序员是如何开发Web应用程序的 172

    11.2.1 Web应用程序的分层结构 172

    11.2.2 各司其职的程序员 173

    11.3 研究Web应用程序的利器 176

    11.3.1 黑盒测试类工具 176

    11.3.2 白盒测试类工具 177

    11.4 小结 179

    第 12章 Web应用程序安全原理 180

    12.1 Web服务所面临的威胁 180

    12.2 Web服务安全的外部环境因素 181

    12.2.1 操作系统的漏洞 181

    12.2.2 Web服务器应用程序的漏洞 185

    12.2.3 Docker的缺陷 188

    12.3 Web服务安全的内部代码因素 190

    12.3.1 常见的Web应用程序漏洞 190

    12.3.2 Web漏洞测试程序 192

    12.4 建立靶机测试环境 194

    12.5 对Web服务进行信息搜集 196

    12.5.1 检测Web服务器的操作系统类型和安装的应用程序 196

    12.5.2 获取关于目标的whois信息 198

    12.6 小结 199

    第 13章 简单直接的黑客攻击:暴力破解 200

    13.1 用Burp Suite跟踪分析登录的过程 200

    13.2 用Python编写登录程序 204

    13.3 如何在Python程序中保持登录状态 207

    13.4 用Python编写针对登录的暴力破解程序 208

    13.4.1 用Python编写生成字典文件的程序 209

    13.4.2 用Python编写一个DVWA登录的暴力破解程序 212

    13.5 针对目录的暴力破解 214

    13.6 小结 215

    第 14章 Web也有“后门”――命令注入漏洞 216

    14.1 命令注入漏洞产生的原因 216

    14.1.1 系统命令函数 217

    14.1.2 执行多条命令 218

    14.2 如何利用DVWA的命令注入漏洞进行渗透 219

    14.3 用Python编写一个命令注入程序 220

    14.4 如何利用命令注入漏洞实现对服务器的控制 223

    14.5 命令注入漏洞的解决方案 226

    14.6 小结 228

    第 15章 被遗忘的角落:文件包含漏洞 229

    15.1 文件包含漏洞的成因 229

    15.2 文件包含漏洞攻击实例 233

    15.3 用Python编写文件包含漏洞测试程序 235

    15.4 文件包含漏洞的解决方案 237

    15.5 小结 238

    第 16章 令人谈之色变的攻击:SQL注入攻击 239

    16.1 SQL注入漏洞产生的原因 239

    16.2 黑客是如何利用SQL注入漏洞的 243

    16.2.1 利用INFORMATION_SCHEMA数据库进行SQL注入 243

    16.2.2 如何绕过程序的转义机制 244

    16.2.3 SQL Injection 245

    16.3 sqlmap注入工具的使用 247

    16.4 使用Python编写的SQL注入程序 250

    16.5 小结 254

    第 17章 黑客入侵的捷径:上传攻击 255

    17.1 黑客利用上传漏洞的各种技术 255

    17.2 用Python编写上传漏洞渗透程序 260

    17.3 应对上传漏洞的解决方案 262

    17.4 小结 263

    第 18章 来自远方的来信:跨站脚本攻击漏洞 264

    18.1 跨站脚本攻击漏洞的成因 264

    18.2 跨站脚本攻击漏洞攻击实例 266

    18.3 用Python实现跨站脚本攻击漏洞检测 270

    18.4 跨站脚本攻击漏洞的解决方案 271

    18.5 跨站请求伪造漏洞的分析与利用 271

    18.6 小结 275

    第 19章 WAF可以让我们高枕无忧了吗 276

    19.1 入侵者如何检测WAF 276

    19.1.1 网站有无WAF保护的区别 276

    19.1.2 检测目标网站是否使用WAF 277

    19.1.3 检测目标网站使用的WAF产品 279

    19.2 入侵者如何绕过云WAF 283

    19.3 常见的WAF绕过方法 285

    19.3.1 利用WAF的检测范围 286

    19.3.2 WAF与操作系统的解析差异 287

    19.3.3 利用WAF与服务器应用程序的解析差异 291

    19.3.4 编解码技术的差异 293

    19.3.5 其他常用方法 297

    19.4 小结 298
查看详情