0x00漏洞描述
在 JDK 9+ 上运行的 Spring MVC 或 Spring WebFlux 应用程序可能容易受到通过数据绑定的远程代码执行 (RCE) 的攻击。
具体的利用需要应用程序作为 WAR 部署在 Tomcat 上运行。
如果应用程序被部署为 Spring Boot 可执行 jar,即默认值,则它不容易受到漏洞利用。
但是,该漏洞的性质更为普遍,可能还有其他方法可以利用它。
0x01影响范围
-
JDK 9 或更高版本
-
Apache Tomcat 作为 Servlet 容器
-
打包为传统的WAR(与 Spring Boot 可执行 jar 相比)
-
spring-webmvc 或 spring-webflux 依赖项
-
Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本
0x02环境搭建
docker pull vulfocus/spring-core-rce-2022-03-29
docker run -d -p 8090:8080 --name springrce -it vulfocus/spring-core-rce-2022-03-29
0x03漏洞复现
访问靶机:
发送POC:
写入webshell:
执行命令请求dnslog:
0x04无害检测方式
构造POST数据包(数据包格式 Content-Type: application/x-www-form-urlencoded):
class.module.classLoader.DefaultAssertionStatus=test默认断言状态的值只能为True/False,如为其他就会报错.可根据此处写POC检测。
*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。
原文始发于微信公众号(雨笋君):CVE-2022-22965-Spring4Shell漏洞复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论