学徒-点击劫持-URL参数中的表单输入预填充
# 实验室:点击劫持 与 URL参数对表单数据输入进行预填充
# 题目
本次实验扩展了实验室:使用 CSRF 令牌保护的基本点击劫持 (opens new window)中的基本点击劫持示例 (opens new window)。本次实验的目标是通过使用 URL 参数预填充表单,诱使用户无意中单击 “Update email” 按钮来更改用户的电子邮件地址。
若要解决实验室问题,请制作一些 HTML 来构建帐户页面,并通过单击 “Click me” 诱饵来欺骗用户更新他们的电子邮件地址。当电子邮件地址被更改时,该实验就解决了。
你可以使用以下凭据登录到自己的帐户:wiener:peter
笔记
受害者将使用 Chrome,因此请在该浏览器上测试你的漏洞利用。
提示
你不能注册已被其他用户占用的电子邮件地址。如果你在测试漏洞期间 更改了自己的电子邮件地址,请你确保——向受害者发送的最终漏洞利用中,应包含不同的电子邮件地址。
- name: 实验室-学徒
desc: 点击劫持 与 URL参数对表单数据输入进行预填充 >>
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-prefilled-form-input
bgColor: '#001350'
textColor: '#39d50c'
2
3
4
5
6
# 实操
点击 “ACCESS THE LAB” 进入实验室。
进入实验室,点击 “My account” 访问登录界面,并使用题目中提供的用户名和密码进行登录。
在账户页面中,你可以看到一个 “Update email” 更新邮箱地址的功能。
该表单同样也是支持参数预填充的。
?email=123
更新邮箱地址时,email 参数是必须的,如图所示。
通过表单预填充,自动为受害者填入一个邮件地址,然后诱导他点击按钮即可。
这样就不需要诱导用户输入参数了,那样太繁琐。
这次我们采用自动化的方式,快速生成一个点击劫持的攻击载荷。
打开 BurpSuite,选择左上角的 “Burp --> Burp Clickbandit”。
点击 “Copy Clickbandit to clipboard” 复制自动生成脚本。
访问账户页面,通过 URL 预填充表单参数。
启用浏览器开发者工具,将刚刚复制的脚本 粘贴到 控制台中,然后回车运行脚本。
运行脚本之后,点击 “Start” 开始录制动作。
点击 “Update email” 更新邮件地址,记录动作。
执行所有操作之后,点击 “Finish” 结束录制。
显式录制结果,当你看到一个红色按钮 准确覆盖在 你的目标按钮上时,说明录制成功了。
点击 “Save” 保存载荷文件。
以下动图展示了整个载荷录制过程:
由于载荷中的邮件地址是a@b.c
,所以在攻击之前,先把你自己的邮件地址修改为别的,例如x@y.z
,防止两个地址冲突,导致攻击失败。
打开载荷文件,复制其中的所有代码。
将复制的代码保存到漏洞利用服务器上,以下动图展示了载荷的攻击效果:
当受害者访问漏洞利用 URL 后,会被诱导点击明面上的 “Click” 按钮,而他实际上点击的是经过隐藏的 “Update email” 按钮(这里没有藏好,因为是测试)。
发送给受害用户。
点击劫持攻击成功,实验完成。