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

【点击劫持漏洞(附测试代码)】

漏洞描述

点击劫持(Clickjacking)是一种网络攻击技术,攻击者通过将一个恶意的页面或按钮隐藏在合法网站的页面下,诱使用户在不知情的情况下点击隐藏的内容,从而触发攻击者设计的操作。这种攻击通常会导致用户无意中执行敏感操作,例如更改账户设置、转账、订阅或其他可能带来经济损失或安全风险的行为。

点击劫持的攻击原理

点击劫持的主要攻击原理是利用网页的iframe嵌套特性,将恶意网页通过iframe的方式嵌入到合法网站的页面上。由于攻击页面的透明度或位置设计巧妙,用户误以为在点击正常网站的按钮,但实际上触发了隐藏的恶意内容。

防御方法

使用X-Frame-Options头:通过在HTTP响应中设置X-Frame-Options: DENY或X-Frame-Options: SAMEORIGIN,防止页面被其他站点以iframe的方式嵌入。
Content Security Policy (CSP):通过设置Content-Security-Policy: frame-ancestors 'self’来指定允许嵌入的源。
页面逻辑检测:检测页面的嵌入情况,当页面被iframe嵌入时,拒绝加载或显示警告信息。
UI设计防护:让用户在执行敏感操作时需要多次确认,避免一键点击误触风险。
JS检测方法:通过JavaScript检测自身的窗口是否被嵌套,并根据情况进行防护。

应用场景

点击劫持攻击广泛存在于金融、社交网络和电商网站等领域,用户在这些平台中误触隐蔽的按钮可能造成经济或信息的损失。因此,在设计和开发网站时,应避免iframe的滥用并采取必要的防御措施。

测试代码

将代码中src=""替换为你需要测试的Url。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Clickjacking Demo</title><style>#wrapper {position: relative;width: 400px;height: 400px;}#fakeButton {position: absolute;top: 10px; /* Position can be adjusted to overlay a specific part of the iframe */left: 10px;width: 200px;height: 100px;background: rgba(255, 0, 0, 0.5); /* Semi-transparent red button */color: white;text-align: center;line-height: 100px;z-index: 10; /* Make sure this button is above the iframe */}iframe {position: absolute;width: 100%;height: 100%;border: none;opacity: 0.4; /* Make iframe content partially transparent to highlight the attack */}</style>
</head>
<body><div id="wrapper"><div id="fakeButton">Click Me!</div><iframe src="https://www.baidu.com"></iframe><!-- 在iframe中写入你要测试的Url --></div>
</body>
</html>

效果如下:
在这里插入图片描述

http://www.lryc.cn/news/478882.html

相关文章:

  • 【AD】3-4 在原理图中放置元件
  • 协程2 --- 相关概念
  • Hadoop-005-HDFS分布式文件存储原理
  • 【多线程入门篇】 创建线程以及线程的属性
  • 三十四、Python基础语法(文件操作-上)
  • 【大咖云集,院士出席 | ACM独立出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024,11月15-17日)--冬季主会场
  • 03 Oracle进程秘籍:深度解析Oracle后台进程体系
  • AndroidStudio通过Bundle进行数据传递
  • Linux篇(文件管理命令)
  • 大数据新视界 -- 大数据大厂之 Impala 性能优化:数据存储分区的艺术与实践(下)(2/30)
  • 【数据结构】B树
  • Docker 容器网络模式详解
  • 吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.11
  • 小游戏开发,出现了降本增效的技术?
  • (4)Java 编程基础概览:Java中的输入输出操作与代码注释详解
  • Git使用指南
  • 【linux】再谈网络基础(一)
  • Unknown at rule @tailwindscss(unknownAtRules)
  • IDEA - 快速去除 mapper.xml 黄色警告线和背景色----简化版
  • 高级 SQL 技巧详解
  • 移除元素(java)
  • 【Linux】shell脚本:检测文件是否存在,如存在则删除
  • Git代码托管(三)可视化工具操作(1)
  • How to use ffmpeg to convert video format from .webm to .mp4
  • Halcon 从XML中读取配置参数
  • hive表内外表之间切换
  • 电子邮件营销软件哪个好?
  • OpenAI大事记;GPT到ChatGPT参数量进化
  • springboot020基于Java的免税商品优选购物商城设计与实现
  • 代码随想录之字符串刷题总结