Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现

admin 2025年2月22日00:24:17评论22 views字数 1779阅读5分55秒阅读模式
Spring Framework 框架是一个开源的轻量级J2EE应用开发框架,提供了IOC、AOP及MVC等功能,解决了开发人员在开发中遇到的程序常见问题,提高了应用程序等级和软件系统构建效率。

漏洞详情

在JDK9及以上版本下的Spring Framework框架存在远程代码执行漏洞,未经授权的用户可直接构造相关请求在服务器上创建恶意shell文件,从而达到任意命令执行目的。
漏洞影响版本

根据相关公告,目前可能受影响的是JDK9及以上版本下的Spring Framework框架低于5.3.18和5.2.20或其衍生框架构建的网站或应用。

漏洞复现

目前比较多的POC均是与Tomcat容器的一些操作属性结合起来进行利用,本次测试也是根据该方式进行复现,但需要注意的是其他中间件可能也存在相关的利用。

本文将使用vulhub搭建相关靶机进行本地环境的简单复现,至于测试payload已公开,可自行查找。本次复现主要是通过修改Tomcat容器日志记录配置操作,将日志记录修改为我们指定的jsp文件进行记录,并在通过记录日志的形式往指定的jsp文件写入相关shell语句实现GetShell。

正常访问靶机环境:

Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现

vulhub环境下提供get方式进行访问,可以直接使用get方式进行利用,利用的原理都是差不多的,都是修改Tomcat的日志记录配置进行利用,发送payload修改配置同时写入shell文件:

Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现

写入成功后,然后直接访问shell地址:/tomcatwar.jsp,并直接执行id命令,便可直接执行命令

Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现

假如需要写入新的shell文件,在本次测试中只修改fileDateFormat值便可写入新的文件,主要是因为shell的文件名主要是由prefix+fileDateFormat+suffix进行拼接而成的,而文件路径就是directory进行定义的。

这里需要特别注意的是,在写入shell文件内容时,Tomcat某些版本可能会有安全限制,会对内容中的'<'、'{'等特殊符合会有限制,以及pattern自身会对%进行格式化,所以需要在请求头中写入部分内容,然后通过%{xxx}i引用请求头字段的内容进行拼接,具体可查看AccessLogValue属性的官方文档:https://tomcat.apache.org/tomcat-8.5-doc/config/valve.html,或是https://xz.aliyun.com/t/11129、https://mp.weixin.qq.com/s/G1z7mydl4nc9SxcZjwUQwg这两篇分析文章均有所涉及。

同时需要注意的是,通过修改Tomcat日志记录配置进行GetShell的利用方式对目标系统侵入性比较大,修改了日志记录文件路径可能会导致发生一些不可预知的严重崩溃情况,建议大家谨慎对待,请勿随意测试。

漏洞修复建议

Spring Framework框架官方已发布新版本5.2.20.RELEASE与5.3.18修复此漏洞:https://github.com/spring-projects/spring-framework/releases;

其他防护措施可参考:https://mp.weixin.qq.com/s/8SaIoSEaT3xjoXuOFD23Eg

参考

https://xz.aliyun.com/t/11129

https://mp.weixin.qq.com/s/G1z7mydl4nc9SxcZjwUQwg

https://tomcat.apache.org/tomcat-8.5-doc/config/valve.html

https://mp.weixin.qq.com/s/mGGWr8SR_2Pao7UTiUb2IA

https://mp.weixin.qq.com/s/8SaIoSEaT3xjoXuOFD23Eg

https://github.com/vulhub/vulhub

声明:本文作为个人学习记录使用,请勿用于非法行为,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号与文章作者不为此承担任何责任。

Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现

原文始发于微信公众号(信安搬运工):Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月22日00:24:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Spring Framework 框架远程代码执行漏洞(CVE-2022-22965)预警与复现https://cn-sec.com/archives/864563.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息