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

点击劫持概念及解决办法

1.点击劫持的概念

        点击劫持 (Clickjacking) 技术又称为界面伪装攻击 (UI redress attack ),是一种视觉上的欺骗手段。攻击者使用一个或多个透明的 iframe 覆盖在一个正常的网页上,然后诱使用户在该网页上进行操作,当用户在不知情的情况下点击透明的 iframe 页面时,用户的操作已经被劫持到攻击者事先设计好的恶意按钮或链接上。攻击者既可以通过点击劫持设计一个独立的恶意网站,执行钓鱼攻击等;也可以与 XSS 和 CSRF 攻击相结合,突破传统的防御措施,提升漏洞的危害程度

2.测试案例

新建一个html,src内容为目标网站

<head></head>
...
<body><iframe id="target_website" src="http://localhost:8090/ssm_maven/student/add"></iframe>
</body>

项目地址为:

https://gitee.com/fluosetine/java-projects.git

效果如下:

可以把嵌入的页面隐藏,使用一些其他的页面覆盖在上边,进行相关的操作。

3.解决办法

在微软发布新一代的浏览器 Internet Explorer 8.0 中首次提出全新的安全机制:X-FRAME-OPTIONS。该机制有两个选项:DENY 和 SAMEORIGIN。DENY 表示任何网页都不能使用 iframe 载入该网页,SAMEORIGIN 表示符合同源策略的网页可以使用 iframe 载入该网页。如果浏览器使用了这个安全机制,在网站发现可疑行为时,会提示用户正在浏览 网页存在安全隐患,并建议用户在新窗口中打开。这样攻击者就无法通过 iframe 隐藏目标的网页。

X-Frame-Options HTTP 响应头,可以指示浏览器是否应该加载一个 iframe 中的页面。网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面嵌入从而防止点击劫持。

X-Frame-Options 共有三个值:

DENY:任何页面都不能被嵌入到 iframe 或者 frame 中。

SAMEORIGIN:页面只能被本站页面嵌入到 iframe 或者 frame 中。

ALLOW-FROM URI:页面自能被指定的 Uri 嵌入到 iframe 或 frame 中。 

对于 java 项目,只需设置过滤器 在过滤器中指定 response.addHeader ("x-frame-options","SAMEORIGIN"); 就行了

增加过滤器,项目中相关的类AddResponseHeaderFilter

public class AddResponseHeaderFilter extends OncePerRequestFilter
{//Internet Explorer 8.0中@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)throws ServletException, IOException {System.out.println("=====X-Frame-Options, SAMEORIGIN=====");String requestUrI = request.getRequestURI().toString();System.out.println(requestUrI);//response.addHeader("x-frame-options","DENY"); // 任何页面都不能被嵌入到 iframe 或者 frame 中。response.addHeader("X-Frame-Options", "SAMEORIGIN");//页面只能被本站页面嵌入到 iframe 或者 frame 中。filterChain.doFilter(request, response);}}

解决后效果如下:

相关文章:

点击劫持概念及解决办法

1.点击劫持的概念 点击劫持 (Clickjacking) 技术又称为界面伪装攻击 (UI redress attack )&#xff0c;是一种视觉上的欺骗手段。攻击者使用一个或多个透明的 iframe 覆盖在一个正常的网页上&#xff0c;然后诱使用户在该网页上进行操作&#xff0c;当用户在不知情的情况下点击…...

【Spring】手动实现Spring底层机制-问题的引出

&#x1f384;欢迎来到边境矢梦的csdn博文&#x1f384; &#x1f384;本文主要梳理手动实现Spring底层机制-问题的引出 &#x1f384; &#x1f308;我是边境矢梦&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一下&#x1…...

Java - List 去重,获取唯一值,分组列出所属对应集合

问题&#xff1a;List 去重&#xff0c;获取唯一值&#xff0c;分组列出所属对应集合 方案一&#xff1a;这个不需要额外的内存占用 //遍历后判断赋给另一个list集合public static void main(String[] args){List<String> list new ArrayList<String>(); lis…...

离散高斯抽样(Discrete Gaussian Sampling)

离散高斯抽样 离散高斯抽样&#xff08;Discrete Gaussian Sampling&#xff09;是一种常见于密码学和数学领域的随机采样方法。它通常用于构建基于格&#xff08;lattice&#xff09;的密码学方案&#xff0c;如基于格的加密和数字签名。Discrete Gaussian Sampling 的主要目…...

Elasticsearch:什么是生成式人工智能?

生成式人工智能定义 给学生的解释&#xff08;基本&#xff09;&#xff1a; 生成式人工智能是一种可以创造新的原创内容的技术&#xff0c;例如艺术、音乐、软件代码和写作。 当用户输入提示时&#xff0c;人工智能会根据从互联网上现有示例中学到的知识生成响应&#xff0c;…...

责任链模式让我的代码精简10倍?

目录 什么是责任链使用场景结语 前言最近&#xff0c;我让团队内一位成员写了一个导入功能。他使用了责任链模式&#xff0c;代码堆的非常多&#xff0c;bug 也多&#xff0c;没有达到我预期的效果。实际上&#xff0c;针对导入功能&#xff0c;我认为模版方法更合适&#xff…...

Draw软件安装下载

Draw软件安装下载 1.软件简介2.软件下载3.安装方法 1.软件简介 Draw软件&#xff0c;全名为LibreOffice Draw&#xff0c;是一款免费、开源的2D矢量绘图软件&#xff0c;属于LibreOffice办公套件的一部分。它可以用来创建各种类型的图形&#xff0c;包括流程图、组织结构图、平…...

uniapp代码混淆ios上架43问题

参考文章&#xff1a;uniapp打包ios apk&#xff0c;混淆代码_uniapp 混淆_酸奶自由竟然重名了的博客-CSDN博客 uniapp打包ios&#xff0c;上传到ios应用市场时&#xff0c;会因为 4.3(代码重复率过高) 无法通过审核&#xff0c;此时可通过混淆代码来通过审核 1. 项目终端 安…...

Linux目录遍历函数

1.打开一个目录 #include <sys/types.h> #include <dirent.h> DIR *opendir(const char *name); 参数&#xff1a; -name:需要打开的目录的名称 返回值&#xff1a; DIR * 类型&#xff0c;理解为目录流 错误返回NULL 2.读取目录中的数据 #include <dirent.h…...

数据库-理论基础

目录 1.什么是数据库&#xff1f; 2.数据库与文件系统的区别&#xff1f; 3.常见的数据库由那些&#xff1f; 4.关系型数据库(MySQL&#xff09;的特征及组成结构介绍 1.什么是数据库&#xff1f; 数据&#xff1a;描述事物的符号记录&#xff0c;可以是数字&#xff0c;文…...

【已解决】src/spt_python.h:14:20: 致命错误:Python.h:没有那个文件或目录

src/spt_python.h:14:20: 致命错误&#xff1a;Python.h&#xff1a;没有那个文件或目录 问题 其中重点的报错信息 src/spt_python.h:14:20: fatal error: Python.h: No such file or directory 思路 sudo yum install python-devel然后重新安装需要的依赖。 解决 成功。…...

基于Face++网络爬虫+人脸融合算法智能发型推荐程序——深度学习算法应用(含Python及打包exe工程源码)+爬虫数据集

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境Pycharm 环境 模块实现1. Face.APl调用1&#xff09;Face.APl介绍2&#xff09;调用API 2. 数据爬取1&#xff09;网络数据爬取步骤2&#xff09;爬虫实现 3. 模型构建4. 用户界面设计1&#xff09;需要调用的库文…...

Jetson nano嵌入式平台配置ip记录

背景 Jetson nano平台使用千兆网和PC连接时没有ip地址&#xff0c;在ubuntu的终端输入ifconfig显示eh0未设置ip&#xff0c;需要先在nano平台上配置ip地址&#xff0c;然后PC通过千兆网远程控制该平台。 配置ip 使用终端进入到network文件夹中&#xff0c; cd /etc/network…...

前端中的跨域请求及其解决方案

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 跨域&#xff08;Cross-Origin&#xff09;⭐CORS&#xff08;跨域资源共享&#xff09;⭐JSONP&#xff08;JSON with Padding&#xff09;⭐代理服务器⭐ WebSocket⭐服务器设置响应头⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a…...

SpringBoot2.0(mybatis-plus初始使用)

目录 一&#xff0c;介绍二&#xff0c;SpringBoot2.x整合MybatisPlus Lombok2.1&#xff0c;添加依赖 pom2.2&#xff0c;配置数据库信息 application.properties2.3&#xff0c;工程结构初始化 三&#xff0c;创建接口返回统一对象四&#xff0c;创建bean五&#xff0c;创建…...

游戏视频录制软件对比,哪款最适合你的需求?

随着电子竞技和游戏直播行业的迅速崛起&#xff0c;越来越多的玩家渴望记录并分享自己在游戏中的精彩瞬间。游戏视频录制软件正是满足这一需求的关键工具。本文将针对三款优秀的游戏视频录制软件进行对比分析&#xff0c;以便为读者提供选购建议。 游戏视频录制软件1&#xff1…...

耐蚀合金连续油管最新版 学习记录

声明 本文是学习GB-T 42858-2023 耐蚀合金连续油管. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了耐蚀合金连续油管的订货、材料、制造、检验试验、标记等。 本文件适用于油气井用耐蚀合金连续油管(以下简称"油管")…...

LoGoNet:基于局部到全局跨模态融合的精确 3D 目标检测

论文地址&#xff1a;https://arxiv.org/abs/2303.03595 论文代码&#xff1a;https://github.com/sankin97/LoGoNet 论文背景 激光雷达传感器点云通常是稀疏的&#xff0c;无法提供足够的上下文来区分远处的区域&#xff0c;从而造成性能次优。 激光雷达-摄像机融合方法在三…...

Python 多线程、线程池、进程池

线程间的通讯机制 消息队列 event 事件对象 当线程创建完成之后&#xff0c;并不会马上执行线程&#xff0c;而是等待某一事件发生&#xff0c;线程才会启动 import threading# # 创建 event 对象 # event threading.Event() # # 重置代码中的 event 对象&#xff0c;使得所…...

深入浅出了解华为端到端交付流程的概念和5个关键点

如果您或您所在的组织在学习和研究华为&#xff0c;那么对“端到端”这个词语就一点都不陌生。 今天华研荟带着您了解华为端到端的交付流程的思想和一些做法&#xff0c;如果了解了这个&#xff0c;那么对于华为在其他领域提出的端到端要求或做法就一通百通了。 一、什么是端…...

MAA明日方舟自动化助手:5分钟快速上手指南

MAA明日方舟自动化助手&#xff1a;5分钟快速上手指南 【免费下载链接】MaaAssistantArknights 一款明日方舟游戏小助手 项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights MAA&#xff08;MaaAssistantArknights&#xff09;是一款专为《明日方…...

第8篇 | 逻辑回归

逻辑回归虽然名字中包含"回归"&#xff0c;但实际上是一种分类算法。它通过sigmoid函数将线性输出转换为概率&#xff0c;广泛用于二分类问题。本篇将详细介绍逻辑回归的原理、实现和应用。一、逻辑回归概述逻辑回归用于处理二分类问题&#xff0c;输出为样本属于某一…...

【ComfyUI】Qwen-Image-Edit-F2P 环境配置全攻略:Anaconda创建独立Python环境

ComfyUI Qwen-Image-Edit-F2P 环境配置全攻略&#xff1a;Anaconda创建独立Python环境 你是不是也遇到过这种情况&#xff1a;好不容易找到一个好用的AI图像编辑模型&#xff0c;比如Qwen-Image-Edit-F2P&#xff0c;兴冲冲地准备在ComfyUI里跑起来&#xff0c;结果第一步安装…...

SeqGPT-560M中文理解深度测评:对古汉语、方言、行业黑话的泛化能力分析

SeqGPT-560M中文理解深度测评&#xff1a;对古汉语、方言、行业黑话的泛化能力分析 1. 模型背景与核心能力 SeqGPT-560M是阿里达摩院推出的零样本文本理解模型&#xff0c;专门针对中文场景优化&#xff0c;无需训练即可完成文本分类和信息抽取任务。这个560M参数的轻量级模型…...

NaViL-9B图文问答入门:Web界面支持拖拽上传+历史记录回溯功能

NaViL-9B图文问答入门&#xff1a;Web界面支持拖拽上传历史记录回溯功能 1. 平台介绍 NaViL-9B是一款原生多模态大语言模型&#xff0c;由专业研究机构开发。它不仅能像传统语言模型一样处理纯文本问答&#xff0c;还具备强大的图片理解能力。这意味着你可以上传一张图片&…...

Phi-4-Reasoning-VisionGPU算力:双卡4090推理吞吐达12 token/s实测

Phi-4-Reasoning-VisionGPU算力&#xff1a;双卡4090推理吞吐达12 token/s实测 1. 项目概述 Phi-4-Reasoning-Vision是一款基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具。该工具专为双卡RTX 4090环境优化&#xff0c;通过精心设计的架构和优化策略&a…...

Phi-3-mini-128k-instruct辅助Dev-C++初学者:C/C++编译错误智能解读

Phi-3-mini-128k-instruct&#xff1a;你的Dev-C编程“陪练” 刚学C/C那会儿&#xff0c;你是不是也经常被Dev-C弹出的那一大串编译错误信息搞得一头雾水&#xff1f;什么“undefined reference”&#xff0c;什么“expected ‘;’ before ‘}’ token”&#xff0c;每个单词都…...

FlowState Lab少样本学习效果:仅用10条数据生成特定波动模式

FlowState Lab少样本学习效果&#xff1a;仅用10条数据生成特定波动模式 1. 引言&#xff1a;当数据稀缺遇上智能生成 想象一下这样的场景&#xff1a;你手里只有10条设备振动波形数据&#xff0c;却需要分析上千种可能的故障模式。传统方法可能需要收集数月甚至数年的运行数…...

GTE文本向量助力智能写作:文本分类与情感倾向双重把关

GTE文本向量助力智能写作&#xff1a;文本分类与情感倾向双重把关 1. 智能写作的核心挑战&#xff1a;内容质量的多维评估 在内容创作领域&#xff0c;我们常常面临一个基本矛盾&#xff1a;如何同时保证文本的专业性和情感表达&#xff1f;传统写作辅助工具往往只能解决单一…...

探索Tabler Icons 3.40.0:新增6000+高质量SVG图标的终极指南

探索Tabler Icons 3.40.0&#xff1a;新增6000高质量SVG图标的终极指南 【免费下载链接】tabler-icons A set of over 4800 free MIT-licensed high-quality SVG icons for you to use in your web projects. 项目地址: https://gitcode.com/GitHub_Trending/ta/tabler-icons…...