书籍详情
Python渗透测试实战
作者:李华峰 著
出版社:人民邮电出版社
出版时间:2021-02-01
ISBN:9787115547132
定价:¥79.00
购买这本书可以去
内容简介
近年来,Python语言在技术领域得到了广泛的认同,越来越多的人开始学习Python。如今,很多优秀的网络渗透测试工具是用Python开发的。从长远来看,Python将成为网络渗透测试行业的必备语言之一。这是一本专门介绍Python在网络渗透测试方面应用的图书。本书通过19章的内容全面而详细地介绍了网络渗透测试的理论与实践,涉及网络的基本原理、Python编程环境的安装和配置、Scapy库、DHCP、DNS、中间人攻击、远程控制、交换机、信息搜集手段、渗透原理、Web服务器、Web服务所面临的威胁、Web渗透测试实例、命令注入漏洞、文件包含漏洞、SQL注入攻击、漏洞的成因、跨站脚本攻击、WAF的工作原理等重要主题。本书提供了大量编程实例,与网络安全热点问题紧密结合,既可作为高校相关专业的教学用书,也可作为网络安全爱好者的进阶读物。
作者简介
李华峰是一名资深的网络安全专业教师,拥有多年的一线教学经验,同时,他也是信息安全顾问和自由撰稿人,非常喜欢钻研技术,近年来编写了多本畅销图书,并且是多本技术图书的译者。多年来他一直从事网络安全渗透测试方面的研究工作,在网络安全部署、网络攻击与防御以及社会工程学等方面有十分丰富的实践经验。
目录
第 1章 我们的设备是如何连接到互联网的\t1
1.1 互联网世界的规则——协议\t1
1.2 两台设备上的应用程序是如何通过互联网进行通信的\t2
1.3 小结\t7
第 2章 工欲善其事,必先利其器\t8
2.1 Python的优势\t8
2.2 Python编程环境的选择\t9
2.2.1 虚拟操作系统的工具VMware\t9
2.2.2 Kali Linux的下载与应用\t10
2.2.3 PyCharm的下载与应用\t13
2.3 小结\t19
第3章 数据包的“基因编辑工具”——Scapy\t20
3.1 Scapy简介\t20
3.2 Scapy中的分层结构\t22
3.3 Scapy中的常用函数\t24
3.4 在Scapy中发送和接收数据包\t26
3.5 Scapy中的抓包函数\t28
3.6 小结\t30
第4章 IP地址都去哪了\t31
4.1 DHCP的工作原理与流程\t31
4.2 用Python程序模拟DHCP客户端\t34
4.2.1 DHCP Discover数据包的构造\t35
4.2.2 DHCP Offer数据包的捕获与解析\t38
4.2.3 DHCP Request数据包的构造\t39
4.3 编写一个DHCP服务器端测试程序\t41
4.4 小结\t42
第5章 你能记住每个网站的IP地址吗\t43
5.1 DNS协议的工作原理与流程\t43
5.2 使用Scapy模拟DNS的请求\t46
5.3 黑客是如何利用DNS协议的\t48
5.3.1 DNS请求泛洪攻击\t48
5.3.2 DNS放大攻击\t49
5.3.3 DNS欺骗\t49
5.4 dnspython模块的使用\t51
5.5 doh-proxy模块的使用\t52
5.6 小结\t54
第6章 网络中有秘密吗\t55
6.1 中间人攻击的原理\t55
6.2 ARP的缺陷\t57
6.3 使用Scapy库编写中间人攻击脚本\t61
6.4 用Scapy库编写网络嗅探程序\t63
6.4.1 将嗅探结果保存为文件\t63
6.4.2 对敏感信息的提取\t65
6.5 实现对HTTPS的中间人攻击\t67
6.5.1 HTTPS与HTTP的区别\t67
6.5.2 证书颁发机构的工作原理\t69
6.5.3 基于HTTPS的中间人攻击\t71
6.6 中间人攻击的解决方案\t76
6.6.1 静态绑定ARP表项\t76
6.6.2 使用DHCP Snooping功能\t76
6.6.3 划分VLAN\t77
6.7 小结\t77
第7章 用Python编写一个远程控制程序\t78
7.1 远程控制程序简介\t78
7.2 编写一个基于SSH的远程控制程序\t79
7.2.1 Telnet与SSH\t79
7.2.2 基于paramiko实现SSH客户端\t81
7.2.3 操作实例\t83
7.3 编写一个远程控制程序的服务器端和客户端\t84
7.3.1 如何使用Python执行系统命令(subprocess模块)\t84
7.3.2 远程控制的服务器端与客户端(套接字模块实现)\t88
7.3.3 远程控制的服务器端与客户端(socketserver模块实现)\t91
7.4 编写一个反向的木马\t93
7.5 编写键盘监听程序\t97
7.6 监听指定窗口的输入\t100
7.7 用Python实现截图功能\t102
7.8 使用Python控制注册表\t104
7.9 用Python控制系统进程\t106
7.10 将Python脚本转化为exe文件\t109
7.11 小结\t111
第8章 交换机面临的威胁\t112
8.1 交换机的工作原理\t112
8.2 MAC地址泛洪攻击\t114
8.2.1 泛洪程序的构造\t114
8.2.2 eNSP仿真环境的建立\t114
8.2.3 通过eNSP中的云与VMware相连\t119
8.3 MAC欺骗攻击\t122
8.4 划分VLAN对抗中间人攻击\t123
8.5 VLAN Hopping技术\t124
8.6 攻击生成树协议\t128
8.7 小结\t131
第9章 用Python实现信息搜集\t132
9.1 信息搜集基础\t132
9.2 用Python实现设备状态扫描\t132
9.2.1 基于ARP的活跃设备发现技术\t133
9.2.2 基于ICMP的活跃设备发现技术\t137
9.2.3 基于TCP的活跃设备发现技术\t140
9.2.4 基于UDP的活跃设备发现技术\t142
9.3 使用Python实现端口扫描\t143
9.3.1 基于TCP全开的端口扫描技术\t143
9.3.2 基于TCP半开的端口扫描技术\t146
9.4 小结\t147
第 10章 用Python对漏洞进行渗透\t148
10.1 黑客发现和利用漏洞的过程\t148
10.1.1 用Nmap来识别目标操作系统类型和安装的应用程序\t148
10.1.2 漏洞渗透库exploit-db\t151
10.1.3 使用Metasploit完成对目标设备的渗透\t153
10.2 使用Python识别操作系统类型和安装的应用程序\t156
10.2.1 python-nmap模块的使用\t157
10.2.2 使用python-nmap模块识别目标设备安装的应用程序\t160
10.2.3 使用python-nmap模块识别目标操作系统\t162
10.3 使用Python实现Metasploit的自动化渗透\t164
10.4 小结\t166
第 11章 Web应用程序运行原理\t167
11.1 Web应用程序是怎样“炼”成的\t167
11.2 程序员是如何开发Web应用程序的\t172
11.2.1 Web应用程序的分层结构\t172
11.2.2 各司其职的程序员\t173
11.3 研究Web应用程序的利器\t176
11.3.1 黑盒测试类工具\t176
11.3.2 白盒测试类工具\t177
11.4 小结\t179
第 12章 Web应用程序安全原理\t180
12.1 Web服务所面临的威胁\t180
12.2 Web服务安全的外部环境因素\t181
12.2.1 操作系统的漏洞\t181
12.2.2 Web服务器应用程序的漏洞\t185
12.2.3 Docker的缺陷\t188
12.3 Web服务安全的内部代码因素\t190
12.3.1 常见的Web应用程序漏洞\t190
12.3.2 Web漏洞测试程序\t192
12.4 建立靶机测试环境\t194
12.5 对Web服务进行信息搜集\t196
12.5.1 检测Web服务器的操作系统类型和安装的应用程序\t196
12.5.2 获取关于目标的whois信息\t198
12.6 小结\t199
第 13章 简单直接的黑客攻击:暴力破解\t200
13.1 用Burp Suite跟踪分析登录的过程\t200
13.2 用Python编写登录程序\t204
13.3 如何在Python程序中保持登录状态\t207
13.4 用Python编写针对登录的暴力破解程序\t208
13.4.1 用Python编写生成字典文件的程序\t209
13.4.2 用Python编写一个DVWA登录的暴力破解程序\t212
13.5 针对目录的暴力破解\t214
13.6 小结\t215
第 14章 Web也有“后门”——命令注入漏洞\t216
14.1 命令注入漏洞产生的原因\t216
14.1.1 系统命令函数\t217
14.1.2 执行多条命令\t218
14.2 如何利用DVWA的命令注入漏洞进行渗透\t219
14.3 用Python编写一个命令注入程序\t220
14.4 如何利用命令注入漏洞实现对服务器的控制\t223
14.5 命令注入漏洞的解决方案\t226
14.6 小结\t228
第 15章 被遗忘的角落:文件包含漏洞\t229
15.1 文件包含漏洞的成因\t229
15.2 文件包含漏洞攻击实例\t233
15.3 用Python编写文件包含漏洞测试程序\t235
15.4 文件包含漏洞的解决方案\t237
15.5 小结\t238
第 16章 令人谈之色变的攻击:SQL注入攻击\t239
16.1 SQL注入漏洞产生的原因\t239
16.2 黑客是如何利用SQL注入漏洞的\t243
16.2.1 利用INFORMATION_SCHEMA数据库进行SQL注入\t243
16.2.2 如何绕过程序的转义机制\t244
16.2.3 SQL Injection\t245
16.3 sqlmap注入工具的使用\t247
16.4 使用Python编写的SQL注入程序\t250
16.5 小结\t254
第 17章 黑客入侵的捷径:上传攻击\t255
17.1 黑客利用上传漏洞的各种技术\t255
17.2 用Python编写上传漏洞渗透程序\t260
17.3 应对上传漏洞的解决方案\t262
17.4 小结\t263
第 18章 来自远方的来信:跨站脚本攻击漏洞\t264
18.1 跨站脚本攻击漏洞的成因\t264
18.2 跨站脚本攻击漏洞攻击实例\t266
18.3 用Python实现跨站脚本攻击漏洞检测\t270
18.4 跨站脚本攻击漏洞的解决方案\t271
18.5 跨站请求伪造漏洞的分析与利用\t271
18.6 小结\t275
第 19章 WAF可以让我们高枕无忧了吗\t276
19.1 入侵者如何检测WAF\t276
19.1.1 网站有无WAF保护的区别\t276
19.1.2 检测目标网站是否使用WAF\t277
19.1.3 检测目标网站使用的WAF产品\t279
19.2 入侵者如何绕过云WAF\t283
19.3 常见的WAF绕过方法\t285
19.3.1 利用WAF的检测范围\t286
19.3.2 WAF与操作系统的解析差异\t287
19.3.3 利用WAF与服务器应用程序的解析差异\t291
19.3.4 编解码技术的差异\t293
19.3.5 其他常用方法\t297
19.4 小结\t298
1.1 互联网世界的规则——协议\t1
1.2 两台设备上的应用程序是如何通过互联网进行通信的\t2
1.3 小结\t7
第 2章 工欲善其事,必先利其器\t8
2.1 Python的优势\t8
2.2 Python编程环境的选择\t9
2.2.1 虚拟操作系统的工具VMware\t9
2.2.2 Kali Linux的下载与应用\t10
2.2.3 PyCharm的下载与应用\t13
2.3 小结\t19
第3章 数据包的“基因编辑工具”——Scapy\t20
3.1 Scapy简介\t20
3.2 Scapy中的分层结构\t22
3.3 Scapy中的常用函数\t24
3.4 在Scapy中发送和接收数据包\t26
3.5 Scapy中的抓包函数\t28
3.6 小结\t30
第4章 IP地址都去哪了\t31
4.1 DHCP的工作原理与流程\t31
4.2 用Python程序模拟DHCP客户端\t34
4.2.1 DHCP Discover数据包的构造\t35
4.2.2 DHCP Offer数据包的捕获与解析\t38
4.2.3 DHCP Request数据包的构造\t39
4.3 编写一个DHCP服务器端测试程序\t41
4.4 小结\t42
第5章 你能记住每个网站的IP地址吗\t43
5.1 DNS协议的工作原理与流程\t43
5.2 使用Scapy模拟DNS的请求\t46
5.3 黑客是如何利用DNS协议的\t48
5.3.1 DNS请求泛洪攻击\t48
5.3.2 DNS放大攻击\t49
5.3.3 DNS欺骗\t49
5.4 dnspython模块的使用\t51
5.5 doh-proxy模块的使用\t52
5.6 小结\t54
第6章 网络中有秘密吗\t55
6.1 中间人攻击的原理\t55
6.2 ARP的缺陷\t57
6.3 使用Scapy库编写中间人攻击脚本\t61
6.4 用Scapy库编写网络嗅探程序\t63
6.4.1 将嗅探结果保存为文件\t63
6.4.2 对敏感信息的提取\t65
6.5 实现对HTTPS的中间人攻击\t67
6.5.1 HTTPS与HTTP的区别\t67
6.5.2 证书颁发机构的工作原理\t69
6.5.3 基于HTTPS的中间人攻击\t71
6.6 中间人攻击的解决方案\t76
6.6.1 静态绑定ARP表项\t76
6.6.2 使用DHCP Snooping功能\t76
6.6.3 划分VLAN\t77
6.7 小结\t77
第7章 用Python编写一个远程控制程序\t78
7.1 远程控制程序简介\t78
7.2 编写一个基于SSH的远程控制程序\t79
7.2.1 Telnet与SSH\t79
7.2.2 基于paramiko实现SSH客户端\t81
7.2.3 操作实例\t83
7.3 编写一个远程控制程序的服务器端和客户端\t84
7.3.1 如何使用Python执行系统命令(subprocess模块)\t84
7.3.2 远程控制的服务器端与客户端(套接字模块实现)\t88
7.3.3 远程控制的服务器端与客户端(socketserver模块实现)\t91
7.4 编写一个反向的木马\t93
7.5 编写键盘监听程序\t97
7.6 监听指定窗口的输入\t100
7.7 用Python实现截图功能\t102
7.8 使用Python控制注册表\t104
7.9 用Python控制系统进程\t106
7.10 将Python脚本转化为exe文件\t109
7.11 小结\t111
第8章 交换机面临的威胁\t112
8.1 交换机的工作原理\t112
8.2 MAC地址泛洪攻击\t114
8.2.1 泛洪程序的构造\t114
8.2.2 eNSP仿真环境的建立\t114
8.2.3 通过eNSP中的云与VMware相连\t119
8.3 MAC欺骗攻击\t122
8.4 划分VLAN对抗中间人攻击\t123
8.5 VLAN Hopping技术\t124
8.6 攻击生成树协议\t128
8.7 小结\t131
第9章 用Python实现信息搜集\t132
9.1 信息搜集基础\t132
9.2 用Python实现设备状态扫描\t132
9.2.1 基于ARP的活跃设备发现技术\t133
9.2.2 基于ICMP的活跃设备发现技术\t137
9.2.3 基于TCP的活跃设备发现技术\t140
9.2.4 基于UDP的活跃设备发现技术\t142
9.3 使用Python实现端口扫描\t143
9.3.1 基于TCP全开的端口扫描技术\t143
9.3.2 基于TCP半开的端口扫描技术\t146
9.4 小结\t147
第 10章 用Python对漏洞进行渗透\t148
10.1 黑客发现和利用漏洞的过程\t148
10.1.1 用Nmap来识别目标操作系统类型和安装的应用程序\t148
10.1.2 漏洞渗透库exploit-db\t151
10.1.3 使用Metasploit完成对目标设备的渗透\t153
10.2 使用Python识别操作系统类型和安装的应用程序\t156
10.2.1 python-nmap模块的使用\t157
10.2.2 使用python-nmap模块识别目标设备安装的应用程序\t160
10.2.3 使用python-nmap模块识别目标操作系统\t162
10.3 使用Python实现Metasploit的自动化渗透\t164
10.4 小结\t166
第 11章 Web应用程序运行原理\t167
11.1 Web应用程序是怎样“炼”成的\t167
11.2 程序员是如何开发Web应用程序的\t172
11.2.1 Web应用程序的分层结构\t172
11.2.2 各司其职的程序员\t173
11.3 研究Web应用程序的利器\t176
11.3.1 黑盒测试类工具\t176
11.3.2 白盒测试类工具\t177
11.4 小结\t179
第 12章 Web应用程序安全原理\t180
12.1 Web服务所面临的威胁\t180
12.2 Web服务安全的外部环境因素\t181
12.2.1 操作系统的漏洞\t181
12.2.2 Web服务器应用程序的漏洞\t185
12.2.3 Docker的缺陷\t188
12.3 Web服务安全的内部代码因素\t190
12.3.1 常见的Web应用程序漏洞\t190
12.3.2 Web漏洞测试程序\t192
12.4 建立靶机测试环境\t194
12.5 对Web服务进行信息搜集\t196
12.5.1 检测Web服务器的操作系统类型和安装的应用程序\t196
12.5.2 获取关于目标的whois信息\t198
12.6 小结\t199
第 13章 简单直接的黑客攻击:暴力破解\t200
13.1 用Burp Suite跟踪分析登录的过程\t200
13.2 用Python编写登录程序\t204
13.3 如何在Python程序中保持登录状态\t207
13.4 用Python编写针对登录的暴力破解程序\t208
13.4.1 用Python编写生成字典文件的程序\t209
13.4.2 用Python编写一个DVWA登录的暴力破解程序\t212
13.5 针对目录的暴力破解\t214
13.6 小结\t215
第 14章 Web也有“后门”——命令注入漏洞\t216
14.1 命令注入漏洞产生的原因\t216
14.1.1 系统命令函数\t217
14.1.2 执行多条命令\t218
14.2 如何利用DVWA的命令注入漏洞进行渗透\t219
14.3 用Python编写一个命令注入程序\t220
14.4 如何利用命令注入漏洞实现对服务器的控制\t223
14.5 命令注入漏洞的解决方案\t226
14.6 小结\t228
第 15章 被遗忘的角落:文件包含漏洞\t229
15.1 文件包含漏洞的成因\t229
15.2 文件包含漏洞攻击实例\t233
15.3 用Python编写文件包含漏洞测试程序\t235
15.4 文件包含漏洞的解决方案\t237
15.5 小结\t238
第 16章 令人谈之色变的攻击:SQL注入攻击\t239
16.1 SQL注入漏洞产生的原因\t239
16.2 黑客是如何利用SQL注入漏洞的\t243
16.2.1 利用INFORMATION_SCHEMA数据库进行SQL注入\t243
16.2.2 如何绕过程序的转义机制\t244
16.2.3 SQL Injection\t245
16.3 sqlmap注入工具的使用\t247
16.4 使用Python编写的SQL注入程序\t250
16.5 小结\t254
第 17章 黑客入侵的捷径:上传攻击\t255
17.1 黑客利用上传漏洞的各种技术\t255
17.2 用Python编写上传漏洞渗透程序\t260
17.3 应对上传漏洞的解决方案\t262
17.4 小结\t263
第 18章 来自远方的来信:跨站脚本攻击漏洞\t264
18.1 跨站脚本攻击漏洞的成因\t264
18.2 跨站脚本攻击漏洞攻击实例\t266
18.3 用Python实现跨站脚本攻击漏洞检测\t270
18.4 跨站脚本攻击漏洞的解决方案\t271
18.5 跨站请求伪造漏洞的分析与利用\t271
18.6 小结\t275
第 19章 WAF可以让我们高枕无忧了吗\t276
19.1 入侵者如何检测WAF\t276
19.1.1 网站有无WAF保护的区别\t276
19.1.2 检测目标网站是否使用WAF\t277
19.1.3 检测目标网站使用的WAF产品\t279
19.2 入侵者如何绕过云WAF\t283
19.3 常见的WAF绕过方法\t285
19.3.1 利用WAF的检测范围\t286
19.3.2 WAF与操作系统的解析差异\t287
19.3.3 利用WAF与服务器应用程序的解析差异\t291
19.3.4 编解码技术的差异\t293
19.3.5 其他常用方法\t297
19.4 小结\t298
猜您喜欢