Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

admin 2024年12月19日17:43:18评论166 views字数 1671阅读5分34秒阅读模式

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC
0x00 漏洞描述

    此漏洞仅存在于Windows系统,当Tomcat的readonly 参数被设置为 false(默认为true),允许使用 PUT 方法上传文件时,攻击者能够上传包含恶意 JSP 代码的文件,并通过条件竞争来多次发送请求,触发 Tomcat 进行解析和执行,最终实现远程代码执行

Apache Tomcat 11.0.0-M1 - 11.0.1Apache Tomcat 10.1.0-M1 - 10.1.33Apache Tomcat 9.0.0.M1 - 9.0.97
Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC
0x01 环境搭建

    可在如下地址进行环境下载,选择漏洞范围内版本:

https://archive.apache.org/dist/tomcat/tomcat-9/https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.97/bin/

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    安装好后可访问8080端口,看是否安装成功。随后来到Tomcat安装目录下的 conf/web.xml ,增加修改其配置,然后重启Tomcat:

<servlet>    <servlet-name>default</servlet-name>    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>    <init-param>        <param-name>readonly</param-name>        <param-value>false</param-value>    </init-param>    <init-param>        <param-name>listings</param-name>        <param-value>false</param-value>    </init-param>    <load-on-startup>1</load-on-startup></servlet>

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC
0x02 漏洞复现

    访问页面,抓取数据包:

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    在Burp的Repeater中新建一个组,后续在这个组中再进行多次发送到Repeater,这些包就会规划到分组里:

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    建议前两个包使用GET请求,不同的文件名,我这里使用xlz1和xlz2作为文件名:

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    后面再发4个包到分组中,使用PUT请求。这里一定要注意的是,在PUT请求中,文件名后缀我们更改一个字母为大写,即为:.Jsp。漏洞POC如下,插入到PUT请求后:

aa<% Runtime.getRuntime().exec("calc.exe");%>

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    这是由于在 Windows 系统中,文件名不区分大小写(.Jsp与.jsp被视为同一个文件),当文件写入和访问同时发生时就会导致JSP 文件被写入时触发编译,在文件被完全编译成.class文件并删除前,其中某些访问可能会跳过完整检查,导致触发代码执行。

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    PUT请求中的文件名,需要跟GET请求中的文件名一致,除了后缀进行大写外,无变化。接下来,我们点击设置并选择组发送:

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

    然后进行多次发包,我这里一共发了四次:

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC
0x03 复现视频

    全程复现视频如下,自行观看:

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC
0x04 文后总结

    实战能不能利用就看运气了,复现咱得会。

修复建议

1、升级Tomcat版本为非漏洞版本范围;

2、设置 readonly 为 false

<init-param>        <param-name>readonly</param-name>        <param-value>false</param-value>    </init-param>
Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC
(
END
)
!扫码添加哦!
联系进群即可,群内可交流技术

Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

免责声明
文章内容仅限授权测试或学习使用
请勿进行非法的测试或攻击

    利用本账号所发文章
进行直接或间接的非法行为
均由操作者本人负全责
犀利猪安全文章对应作者

不为此承担任何责任

文章来自互联网或原创

如有侵权可联系我方进行删除

并诚挚的跟您说声抱歉

犀利猪安全,带你上高速

原文始发于微信公众号(犀利猪安全):Tomcat RCE | CVE-2024-50379条件竞争RCE复现,带视频教程及POC

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

发表评论

匿名网友 填写信息