书籍详情
Web渗透测试新手实操详解
作者:李维峰 著
出版社:北京大学出版社
出版时间:2022-09-01
ISBN:9787301333259
定价:¥79.00
购买这本书可以去
内容简介
渗透测试是检验网络安全的一个重要手段,但渗透测试本身又是一项极具艺术性的工作。它涉及的知识领域很广泛,甚至不限于计算机领域。 为了方便读者掌握这一技术,本书全面讲解了渗透测试的相关内容,包括Web渗透测试的本质——冒用身份、Web渗透测试基础知识、常用工具介绍、简单Web渗透测试实验室搭建指南、面向服务器的渗透测试、面向客户端的攻击、面向通信渠道的攻击、防御措施与建议。 本书内容丰富,案例众多,通俗易懂,适合网络安全专业的学生、渗透测试工程师、黑客技术爱好者学习使用。
作者简介
李维峰 中国飞行试验研究院网络信息安全高级工程师,主要研究方向为网络安全、渗透测试,以及网络风险评估。
目录
目录
1 章
Web 渗透测试的本质——冒用身份 001
1.1 Web 概述 002
1.1.1 Web 的概念 002
1.1.2 Web 简介 002
1.1.3 Web 的中文含义 003
1.1.4 Web 与 Web 应用程序的区别.003
1.2 Web 应用程序概述 003
1.2.1 Web 应用程序简介 003
1.2.2 Web 应用程序的简单结构 004
1.3 Web 应用程序的组件及架构 005
1.3.1 Web 应用程序的组件 005
1.3.2 Web 应用程序的组件模型 005
1.3.3 Web 应用程序的架构 006
1.3.4 Web 应用程序架构的类型 007
1.3.5 Web 应用程序架构的发展趋势 008
1.4 Web 应用程序的工作原理 .008
1.4.1 典型的 Web 应用程序的工作流程 .008
1.4.2 一个 Web 应用程序的工作流程示例 .009
1.5 渗透测试简介 011 新手实操详解
1.5.1 Web 应用程序渗透测试的概念 011
1.5.2 渗透测试阶段划分 011
1.5.3 渗透测试的重要性 011
1.6 模型的简化 012
1.7 出现频率较高的 Web 漏洞 012
1.8 漏洞的分类与抽象 .014
1.8.1 漏洞的分类 014
1.8.2 抽象与总结 015
1.9 漏洞的重新分类 .015
1.9.1 换个视角看漏洞 016
1.9.2 4 种攻击手段 .017
Web 渗透测试基础知识 019
第2章
2.1 简明 HTTP 知识 020
2.1.1 基本概念 020
2.1.2 Apache 与 Tomcat 024
2.1.3 HTTP 的请求和响应消息 .026
2.1.4 HTTP 请求方法 .028
2.1.5 使用 Cookie 进行会话追踪 032
2.1.6 HTTP 与 HTML .034
2.2 简明 Web 浏览器知识 .034
2.2.1 Web 浏览器概述 034
2.2.2 Web 浏览器简介 035
2.2.3 Web 浏览器的简单工作过程 035
2.2.4 使用 Cookie 保存信息 036
2.2.5 Web 浏览器的工作原理 036
2.3 简明 SSL/TLS 知识 .040
2.3.1 SSL 的概念 040
2.3.2 SSL/TLS 功能简介 040
2.3.3 为什么 SSL/TLS 如此重要 .040
2.3.4 SSL 与 TLS 的关系 .041
2.3.5 SSL 是否还在更新 041
2.3.6 SSL 证书的概念 041
2.3.7 SSL 证书的类型 041
2.3.8 SSL/TLS 密码套件 042
常用工具介绍 .044
第3章
3.1 工具的分类 045
3.2 扫描类 .045
3.2.1 Nmap 045
3.2.2 Nikto .046
3.2.3 Wapiti .046
3.2.4 w3af 047
3.2.5 Vega 047
3.2.6 Wget .047
3.2.7 HTTrack .048
3.2.8 WebScarab 048
3.2.9 SSLScan .049
3.2.10 Wireshark .050
3.3 破解类 .050
3.3.1 John the Ripper .050
3.3.2 hashcat 051 新手实操详解
3.3.3 BeEF .051
3.3.4 SQLMap .051
3.3.5 THC-Hydra .052
3.4 综合类 .053
3.4.1 Firefox 浏览器 .053
3.4.2 Metasploit .054
3.4.3 Burp Suite .054
3.4.4 ZAP 055
简单 Web 渗透测试实验室搭建指南 .056
第4章
4.1 为什么要搭建实验室 057
4.1.1 新手们的担心 057
4.1.2 建设原因 057
4.1.3 虚拟化 058
4.1.4 虚拟机 058
4.2 实验环境中的要素 .059
4.2.1 目标 059
4.2.2 从易受攻击的目标开始 059
4.2.3 目标网络升级 060
4.2.4 攻击机 060
4.3 搭建 Kali 攻击机 061
4.3.1 Kali Linux 简介 .061
4.3.2 选择 Kali Linux 的原因 062
4.3.3 安装 Kali Linux .062
4.4 设置攻击机 067
4.4.1 安装并运行 OWASP Mantra .068
4.4.2 设置 Firefox 浏览器 068
4.5 安装与设置虚拟机 .069
4.5.1 安装 VirtualBox .070
4.5.2 安装目标机镜像 071
4.5.3 安装一台客户端镜像 072
4.5.4 设置虚拟机的通信方式 073
4.5.5 了解目标虚拟机 074
面向服务器的渗透测试 .078
第5章
5.1 侦查.079
5.1.1 查看源代码 079
5.1.2 使用 Firebug 分析并改变基本行为 .080
5.1.3 获取和修改 Cookie .082
5.1.4 利用 robots.txt 083
5.1.5 利用 CeWL 进行密码分析 .085
5.1.6 利用 DirBuster 查找文件和文件夹 087
5.1.7 利用 John the Ripper 生成字典 .089
5.1.8 服务扫描与识别 090
5.1.9 识别 Web 应用程序防火墙 .092
5.1.10 利用 ZAP 查询文件和文件夹 094
5.2 爬取网站 096
5.2.1 从爬虫结果中识别相关的文件和目录 096
5.2.2 使用 BurpSuite 爬取网站 097
5.2.3 用 Burp 的中继器重复请求 100
5.2.4 下载页面并使用 HTTrack 进行离线分析 .103
5.2.5 使用 WebScarab .104
5.2.6 下载页面以使用 Wget 进行离线分析 .107
5.2.7 使用 ZAP 爬虫 109
5.3 寻找漏洞 111
5.3.1 识别跨站脚本漏洞 111
5.3.2 识别基于错误的 SQL 注入 114
5.3.3 识别 SQL 盲注 116
5.3.4 从 Cookie 中识别漏洞 117
5.3.5 寻找文件包含漏洞 118
5.3.6 使用 Hackbar 附加组件简化参数探测 120
5.3.7 使用浏览器插件拦截和修改请求 122
5.3.8 使用 Burp Suite 查看和更改请求 .124
5.3.9 使用 SSLScan 获取 SSL 和 TLS 信息 .126
5.3.10 识别 POODLE 漏洞 129
5.3.11 使用 ZAP 查看和更改请求 130
5.4 基本破解 132
5.4.1 滥用文件包含和上传 132
5.4.2 利用 XML 外部实体注入漏洞 .135
5.4.3 基本的 SQL 注入 137
5.4.4 利用操作系统命令注入漏洞 140
5.4.5 使用 Burp Suite 对登录页面进行字典攻击 .143
5.4.6 使用 THC-Hydra 暴力破解密码 .148
5.4.7 使用 SQLMap 寻找和破解 SQL 注入漏洞 .150
5.4.8 使用 Metasploit 获取 Tomcat 的密码 .154
5.4.9 利用 Tomcat Manager 执行代码 .156
5.5 高级破解 158
5.5.1 在 Exploit-DB 中搜索 Web 服务器的漏洞 159
5.5.2 破解 Heartbleed 漏洞 161
5.5.3 破解 SQL 盲注漏洞 163
5.5.4 用 Shellshock 执行命令 169
5.5.5 使用 SQLMap 获取数据库信息 .172
面向客户端的攻击 176
第6章
6.1 手工攻击 177
6.2 利用工具 180
6.2.1 利用 BeEF 破解 XSS 180
6.2.2 使用 John the Ripper 通过字典攻击破解密码的 hash 值 .184
6.2.3 使用 oclHashcat/cudaHashcat 暴力破解密码的 hash 值 .186
6.2.4 使用 SET 创建密码收集器 .187
6.3 混合运用 191
6.3.1 诱引用户浏览虚假网站 191
6.3.2 使用之前保存的网页创建一个钓鱼网站 192
6.3.3 使用 BeEF 进行攻击 .194
6.3.4 进行一次跨站请求伪造攻击 197
6.3.5 使用 Metasploit 创建反向 Shell 并捕获其连接 .201
6.3.6 使用 Metasploit 中的 browser_autpwn2 攻击客户端 205
面向通信渠道的攻击 .208
第7章
7.1 嗅探与嗅探器 209
7.2 中间人攻击 209
7.2.1 使用 Ettercap 设置欺骗攻击 .210
7.2.2 通过 Wireshark 分析 MITM 捕获的流量.212
7.2.3 修改服务器与客户端之间的数据 214
7.2.4 设置 SSL MITM 攻击环境 .217
7.2.5 使用 SSLsplit 获取 SSL 数据 .219
7.2.6 执行 DNS 欺骗和重定向流量 221
防御措施与建议 224
第8章
8.1 阻止注入攻击 225
8.2 构建恰当的认证和会话管理机制 226
8.3 阻止跨站脚本的执行 228
8.4 防止不安全的直接对象引用 .229
8.5 基本安全配置向导 .230
8.6 保护敏感数据 232
8.7 确保功能级别的访问控制 233
8.8 阻止 CSRF 234
8.9 寻找第三方组件上的已知漏洞 .235
8.10 重定向验证 .236
1 章
Web 渗透测试的本质——冒用身份 001
1.1 Web 概述 002
1.1.1 Web 的概念 002
1.1.2 Web 简介 002
1.1.3 Web 的中文含义 003
1.1.4 Web 与 Web 应用程序的区别.003
1.2 Web 应用程序概述 003
1.2.1 Web 应用程序简介 003
1.2.2 Web 应用程序的简单结构 004
1.3 Web 应用程序的组件及架构 005
1.3.1 Web 应用程序的组件 005
1.3.2 Web 应用程序的组件模型 005
1.3.3 Web 应用程序的架构 006
1.3.4 Web 应用程序架构的类型 007
1.3.5 Web 应用程序架构的发展趋势 008
1.4 Web 应用程序的工作原理 .008
1.4.1 典型的 Web 应用程序的工作流程 .008
1.4.2 一个 Web 应用程序的工作流程示例 .009
1.5 渗透测试简介 011 新手实操详解
1.5.1 Web 应用程序渗透测试的概念 011
1.5.2 渗透测试阶段划分 011
1.5.3 渗透测试的重要性 011
1.6 模型的简化 012
1.7 出现频率较高的 Web 漏洞 012
1.8 漏洞的分类与抽象 .014
1.8.1 漏洞的分类 014
1.8.2 抽象与总结 015
1.9 漏洞的重新分类 .015
1.9.1 换个视角看漏洞 016
1.9.2 4 种攻击手段 .017
Web 渗透测试基础知识 019
第2章
2.1 简明 HTTP 知识 020
2.1.1 基本概念 020
2.1.2 Apache 与 Tomcat 024
2.1.3 HTTP 的请求和响应消息 .026
2.1.4 HTTP 请求方法 .028
2.1.5 使用 Cookie 进行会话追踪 032
2.1.6 HTTP 与 HTML .034
2.2 简明 Web 浏览器知识 .034
2.2.1 Web 浏览器概述 034
2.2.2 Web 浏览器简介 035
2.2.3 Web 浏览器的简单工作过程 035
2.2.4 使用 Cookie 保存信息 036
2.2.5 Web 浏览器的工作原理 036
2.3 简明 SSL/TLS 知识 .040
2.3.1 SSL 的概念 040
2.3.2 SSL/TLS 功能简介 040
2.3.3 为什么 SSL/TLS 如此重要 .040
2.3.4 SSL 与 TLS 的关系 .041
2.3.5 SSL 是否还在更新 041
2.3.6 SSL 证书的概念 041
2.3.7 SSL 证书的类型 041
2.3.8 SSL/TLS 密码套件 042
常用工具介绍 .044
第3章
3.1 工具的分类 045
3.2 扫描类 .045
3.2.1 Nmap 045
3.2.2 Nikto .046
3.2.3 Wapiti .046
3.2.4 w3af 047
3.2.5 Vega 047
3.2.6 Wget .047
3.2.7 HTTrack .048
3.2.8 WebScarab 048
3.2.9 SSLScan .049
3.2.10 Wireshark .050
3.3 破解类 .050
3.3.1 John the Ripper .050
3.3.2 hashcat 051 新手实操详解
3.3.3 BeEF .051
3.3.4 SQLMap .051
3.3.5 THC-Hydra .052
3.4 综合类 .053
3.4.1 Firefox 浏览器 .053
3.4.2 Metasploit .054
3.4.3 Burp Suite .054
3.4.4 ZAP 055
简单 Web 渗透测试实验室搭建指南 .056
第4章
4.1 为什么要搭建实验室 057
4.1.1 新手们的担心 057
4.1.2 建设原因 057
4.1.3 虚拟化 058
4.1.4 虚拟机 058
4.2 实验环境中的要素 .059
4.2.1 目标 059
4.2.2 从易受攻击的目标开始 059
4.2.3 目标网络升级 060
4.2.4 攻击机 060
4.3 搭建 Kali 攻击机 061
4.3.1 Kali Linux 简介 .061
4.3.2 选择 Kali Linux 的原因 062
4.3.3 安装 Kali Linux .062
4.4 设置攻击机 067
4.4.1 安装并运行 OWASP Mantra .068
4.4.2 设置 Firefox 浏览器 068
4.5 安装与设置虚拟机 .069
4.5.1 安装 VirtualBox .070
4.5.2 安装目标机镜像 071
4.5.3 安装一台客户端镜像 072
4.5.4 设置虚拟机的通信方式 073
4.5.5 了解目标虚拟机 074
面向服务器的渗透测试 .078
第5章
5.1 侦查.079
5.1.1 查看源代码 079
5.1.2 使用 Firebug 分析并改变基本行为 .080
5.1.3 获取和修改 Cookie .082
5.1.4 利用 robots.txt 083
5.1.5 利用 CeWL 进行密码分析 .085
5.1.6 利用 DirBuster 查找文件和文件夹 087
5.1.7 利用 John the Ripper 生成字典 .089
5.1.8 服务扫描与识别 090
5.1.9 识别 Web 应用程序防火墙 .092
5.1.10 利用 ZAP 查询文件和文件夹 094
5.2 爬取网站 096
5.2.1 从爬虫结果中识别相关的文件和目录 096
5.2.2 使用 BurpSuite 爬取网站 097
5.2.3 用 Burp 的中继器重复请求 100
5.2.4 下载页面并使用 HTTrack 进行离线分析 .103
5.2.5 使用 WebScarab .104
5.2.6 下载页面以使用 Wget 进行离线分析 .107
5.2.7 使用 ZAP 爬虫 109
5.3 寻找漏洞 111
5.3.1 识别跨站脚本漏洞 111
5.3.2 识别基于错误的 SQL 注入 114
5.3.3 识别 SQL 盲注 116
5.3.4 从 Cookie 中识别漏洞 117
5.3.5 寻找文件包含漏洞 118
5.3.6 使用 Hackbar 附加组件简化参数探测 120
5.3.7 使用浏览器插件拦截和修改请求 122
5.3.8 使用 Burp Suite 查看和更改请求 .124
5.3.9 使用 SSLScan 获取 SSL 和 TLS 信息 .126
5.3.10 识别 POODLE 漏洞 129
5.3.11 使用 ZAP 查看和更改请求 130
5.4 基本破解 132
5.4.1 滥用文件包含和上传 132
5.4.2 利用 XML 外部实体注入漏洞 .135
5.4.3 基本的 SQL 注入 137
5.4.4 利用操作系统命令注入漏洞 140
5.4.5 使用 Burp Suite 对登录页面进行字典攻击 .143
5.4.6 使用 THC-Hydra 暴力破解密码 .148
5.4.7 使用 SQLMap 寻找和破解 SQL 注入漏洞 .150
5.4.8 使用 Metasploit 获取 Tomcat 的密码 .154
5.4.9 利用 Tomcat Manager 执行代码 .156
5.5 高级破解 158
5.5.1 在 Exploit-DB 中搜索 Web 服务器的漏洞 159
5.5.2 破解 Heartbleed 漏洞 161
5.5.3 破解 SQL 盲注漏洞 163
5.5.4 用 Shellshock 执行命令 169
5.5.5 使用 SQLMap 获取数据库信息 .172
面向客户端的攻击 176
第6章
6.1 手工攻击 177
6.2 利用工具 180
6.2.1 利用 BeEF 破解 XSS 180
6.2.2 使用 John the Ripper 通过字典攻击破解密码的 hash 值 .184
6.2.3 使用 oclHashcat/cudaHashcat 暴力破解密码的 hash 值 .186
6.2.4 使用 SET 创建密码收集器 .187
6.3 混合运用 191
6.3.1 诱引用户浏览虚假网站 191
6.3.2 使用之前保存的网页创建一个钓鱼网站 192
6.3.3 使用 BeEF 进行攻击 .194
6.3.4 进行一次跨站请求伪造攻击 197
6.3.5 使用 Metasploit 创建反向 Shell 并捕获其连接 .201
6.3.6 使用 Metasploit 中的 browser_autpwn2 攻击客户端 205
面向通信渠道的攻击 .208
第7章
7.1 嗅探与嗅探器 209
7.2 中间人攻击 209
7.2.1 使用 Ettercap 设置欺骗攻击 .210
7.2.2 通过 Wireshark 分析 MITM 捕获的流量.212
7.2.3 修改服务器与客户端之间的数据 214
7.2.4 设置 SSL MITM 攻击环境 .217
7.2.5 使用 SSLsplit 获取 SSL 数据 .219
7.2.6 执行 DNS 欺骗和重定向流量 221
防御措施与建议 224
第8章
8.1 阻止注入攻击 225
8.2 构建恰当的认证和会话管理机制 226
8.3 阻止跨站脚本的执行 228
8.4 防止不安全的直接对象引用 .229
8.5 基本安全配置向导 .230
8.6 保护敏感数据 232
8.7 确保功能级别的访问控制 233
8.8 阻止 CSRF 234
8.9 寻找第三方组件上的已知漏洞 .235
8.10 重定向验证 .236
猜您喜欢