学徒-点击劫持-子窗口破坏程序
# 实验室:点击劫持 与 子窗口破坏程序
# 题目
该实验室受到框架破坏程序的保护,可防止网站被框住。你能绕过框架破坏程序,并进行点击劫持攻击来更改用户的电子邮件地址吗?
若要解决实验室问题,请制作一些 HTML 来构建帐户页面,并通过单击 “Click me” 来欺骗用户更改其电子邮件地址。当电子邮件地址被更改时,该实验就解决了。
你可以使用以下凭据登录到自己的帐户:wiener:peter
笔记
受害者将使用 Chrome,因此请在该浏览器上测试你的漏洞利用。
提示
你不能注册已被其他用户占用的电子邮件地址。如果你在测试漏洞期间 更改了自己的电子邮件地址,请你确保——向受害者发送的最终漏洞利用中,应包含不同的电子邮件地址。
- name: 实验室-学徒
desc: 点击劫持 与 子窗口破坏程序 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/clickjacking/lab-frame-buster-script
bgColor: '#001350'
textColor: '#39d50c'
2
3
4
5
6
# 实操
点击 “ACCESS THE LAB” 进入实验室。
进入实验室,点击 “My account” 访问登录界面,并使用题目中提供的用户名和密码进行登录。
在账户页面中,你可以看到一个 “Update email” 更新邮箱地址的功能。
该表单同样支持参数预填充。
?email=456
访问账户页面,通过 URL 预填充表单参数。
通过开发者工具,在控制台中运行 Burp Clickbandit 的脚本。
运行脚本之后,点击 “Start” 开始录制动作。
此时你会发现,返回了一个错误信息 “该网页无法被框柱”。
正如教程中所说的那样,这是一种保护措施。
但也正如教程中所教的那样,我们可以为iframe
标签添加sandbox=allow-scripts
或sandbox=allow-forms
属性来绕过这种防护措施。
经过实验,第一个属性sandbox=allow-scripts
行不通,还是框不住。
sandbox=allow-forms
可以,添加该属性后,可以很好地框柱目标网页,如图所示。
在 Clickbandit 的录制过程中,同样可以为你的iframe
载荷添加sandbox
属性。勾选 “Sandbox iframe?” 这一选项即可开启。
默认会为你添加allow-scripts
和allow-forms
两个值,但上面测试过了,有allow-scripts
的情况下是无法框柱页面的。怎么办?
很简单,选中 “allow-scripts” 字符。
然后删掉它即可,只保留allow-forms
。
再次点击 “Start” 录制动作,这回正确框柱了网页。
点击 “Update email” 更新邮件地址,记录动作。然后点击 “Finish” 结束录制。
添加sandbox=allow-forms
属性的情况下,你会发现录制的结果不太一样。之前都是一个四四方方的红框框,这回是一个圆圈。
这并不影响攻击,只要确保目标按钮位于红框之内即可。
点击 “Save” 保存载荷文件。
记得修改你的邮件地址,防止和载荷中的邮件地址冲突。
打开载荷文件,复制其中的所有代码。
将复制的代码保存到漏洞利用服务器上,并发送给受害用户。
点击劫持攻击成功,实验完成。