Skip to content
CVE-2025-24813进阶

Apache Tomcat PUT 上传配合 Session 反序列化远程代码执行

Tomcat 同时开启 PUT 写入(readonly=false)和会话落盘(PersistentManager + FileStore)时,攻击者可通过带 Content-Range 的部分 PUT 请求,将恶意序列化数据写入会话目录,再以伪造的 JSESSIONID 触发反序列化,实现远程代码执行直至 GetShell。

组件Apache Tomcat
漏洞类型反序列化 / 文件上传
攻击前提readonly=false + PersistentManager
危害等级高危(RCE)

前置知识点

本页漏洞的基本信息与知识点标题公开;前置知识正文、detect / docker / poc 逐行详解与手工 GetShell 全流程已收录于付费知识星球,与 B 站视频、L1 资料包一一对应。 去星球查看

实验环境与复现流程

Step 1搭建实验环境(docker-compose 一键拉起)

用 L1 资料包内的 docker-compose.yml 一键启动靶场,镜像走腾讯云 TCR,国内拉取不超时。

Step 2运行 detect.py 验证目标是否存在漏洞

无副作用的探测脚本,先确认目标可被利用,再进入手工利用环节。

Step 3手工构造 Payload 实现 GetShell

从探测到利用的完整衔接:逐行讲解 Payload 构造、反弹 Shell 与 poc.py 的对应关系。

配套学习资源

B站演示视频

点名一声"到",Tomcat 服务器没了!完整复现演示

前往B站视频 →

CSDN 完整文章

从原理到 GetShell 全链路深度解析

前往CSDN文章 →

L1 实验环境与资料包

PPT + 原理PDF + Docker靶场 + detect脚本

加微信获取L1资料包 →

学完你能掌握

1

两个"图方便"的配置如何组合成致命漏洞,理解配置安全的重要性

2

Content-Range 部分 PUT 的临时文件机制,以及路径斜杠变点的利用原理

3

CommonsCollections6 Gadget 链的完整调用链与触发条件

4

Runtime.exec 不经过 Shell 解析的坑,以及两阶段反弹 Shell 的正确姿势