Apache Tomcat RCE(CVE-2025-24813)漏洞简要分析
type
status
date
slug
summary
tags
category
icon
password
AI summary
漏洞原理概述
Content-Range在Tomcat的HTTP PUT请求中主要用于实现大文件的分块传输。
示例:
该示例表明:
- 当前传输块:0-1023字节
- 文件总大小:10000字节
在文件上传未完成的情况下,内容会被临时存储在Tomcat的工作目录:
该漏洞的核心在于不完整PUT请求上传时的文件名处理机制:
- 文件路径中的分隔符/会被转换为.
- 例如:访问
/le1a/session会被解析为.le1a.session文件名
漏洞产生的关键点:
- Tomcat的File会话存储默认路径同样位于:
CATALINA_BASE/work/Catalina/localhost/ROOT
- 当存在反序列化利用链时,攻击者可以:
- 上传包含恶意序列化数据的文件
- 通过设置
JSESSIONID=.le1a来触发漏洞
环境配置
在conf/context.xml中,添加如下配置,开启File文件会话存储
在conf/web.xml中,将DefaultServlet的readonly配置为false,启用写入功能
将
Commons Collections 3.2.1.jar放入lib文件夹漏洞复现
生成一个恶意的序列化文件,使用以下PoC上传,需要注意Range的分块值需要与Length保持一致,且大于当前文件的长度。

使用以下PoC触发

Loading...