CVE-2025-24813丨Tomcat远程代码执行漏洞复现
予辉安全
2026年8月20日 18:00
河北
在小说阅读器读本章
去阅读
-漏洞描述-
该漏洞源于Tomcat DefaultServlet处理partial PUT请求(基于Content-Range头的HTTP PUT请求)时的临时文件命名逻辑不安全,导致攻击者可以通过构造特殊的请求路径,访问或写入安全敏感文件。
RCE触发条件(必须同时满足):
| 条件 | 说明 |
|---|---|
| DefaultServlet启用写入权限 | 默认禁用,需配置readonly=false |
| 服务器启用partial PUT | 默认启用 |
| 基于文件的Session持久化 | 非默认配置,默认基于内存 |
| Session存储位置为默认路径 | 默认路径$CATALINA_BASE/work/... |
| 应用包含可利用的反序列化库 | 如Commons-Collections 3.x |
-影响版本-
| 版本线 | 受影响范围 |
|---|---|
| Tomcat 11 | 11.0.0-M1 ~ 11.0.2 |
| Tomcat 10.1 | 10.1.0-M1 ~ 10.1.34 |
| Tomcat 9 | 9.0.0.M1 ~ 9.0.98 |
-环境搭建-
1、官网下载Tomcat9.0.90
https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.90/bin/
2、修改配置文件
conf/web.xml中配置readonly=false,允许文件上传
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup></servlet>
conf/context.xml中,添加如下配置,开启File文件会话存储
<Context\\> <Manager className\\=\"org.apache.catalina.session.PersistentManager\"\\> <Store className\\=\"org.apache.catalina.session.FileStore\"/> </Manager\\></Context\\>
3、启动Tomcat
catalina.bat run
-漏洞复现-
1、准备反序列化Payload
2、写入恶意Session文件
3、触发反序列化
End
文章都看完了,还不点个赞
回顾往期内容
LeakDetector丨基于Bing Dork的自动化信息泄露侦察工具
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论