最新 Tomcat 漏洞 CVE-2025-24513复现(第一篇)
复现最新 Tomcat 漏洞 CVE-2025-24513(第一篇):源码构建与环境搭建
✍️ 作者:nsw111
🕒 更新时间:2025-07-11
📌 前言
在漏洞研究和复现的过程中,构建原始组件源码环境是非常关键的一步。为了深入分析 CVE-2025-24513 —— 一个近期披露的 Apache Tomcat 高危漏洞,我们需要手动构建 Tomcat 的源码,并在本地调试其逻辑。
本文将手把手带你完成 Tomcat 源码的构建环境搭建,适用于复现漏洞、打断点调试和研究其底层实现。
🧱 一、准备工作
✅ 1. 克隆 Tomcat 源码
Apache Archive Distribution Directory
建议切换到对应版本的 tag(如用于复现 CVE-2025-24513 的 commit):v9.0.98
✅ 2. 安装 JDK 和 Apache Ant
安装 JDK
如果使用9.0.98版本的建议使用jdk24,低版本可能会出现找不到方法的情况:
java -version
安装 Ant
Tomcat 源码使用 Ant 构建:
-
下载地址:Apache Ant - Welcome
-
配置环境变量
ANT_HOME
和PATH
ant -version # Apache Ant(TM) version 1.10.x
⚙️ 二、配置构建代理(解决依赖问题)
国内网络在构建依赖时可能存在连接困难,因此我们建议添加构建配置文件 build.properties
,以使用阿里云镜像和本地代理。
在 Tomcat 根目录(含 build.xml
)下新建文件:
✍️ build.properties 文件内容如下:
# 使用阿里云中央仓库镜像
base-maven.repo=https://maven.aliyun.com/repository/central
# 配置代理
proxy.use=true proxy.host=127.0.0.1
proxy.port=7890
proxy.user=
proxy.password=
📌 注意事项:
-
若未使用代理,建议设置
proxy.use=false
。 -
若使用代理工具,请确认端口如
7890
是 HTTP 类型代理。
🔨 三、开始构建 Tomcat 源码
在 build.xml
所在目录打开命令行,执行构建命令:
ant
构建过程将:
-
下载所需依赖(如 Servlet API、JSP、EL 等)
-
编译源码
-
输出构建结果至
output/build
目录
🚫 常见问题提醒
-
JDK 不一致报错
Ant 使用的编译器 JDK 与运行时 JDK 不一致会导致构建失败。建议在JAVA_HOME
中统一设置。 -
代理失败 / 依赖下载中断
可尝试多次运行ant
,或检查代理端口是否开启 HTTP 转发。
IDEA 项目构建方式(推荐)
如果你打算用 IntelliJ IDEA 进行源码调试,可以使用下面的命令自动为 IDEA 构建项目结构:
ant ide-intellij
该命令会执行以下操作:
-
下载 IntelliJ IDEA 所需的依赖(如 IDEA project files 支持包);
-
自动生成
.idea/
配置文件和相关模块信息; -
将 IDEA 项目文件写入到 Tomcat 源码目录中。
这样做之后,你就可以直接用 IDEA 打开当前目录,像普通 Java 项目一样进行调试和运行。
💡 除了 IntelliJ,Tomcat 还提供
ide-eclipse
和ide-netbeans
命令,用于生成其他 IDE 的工程配置。
✅ 四、构建完成后的结构说明
构建成功后,输出目录类似如下:
output/
└── build/
├── bin/ ← 可执行脚本(startup.bat / catalina.sh)
├── conf/ ← 配置文件目录(server.xml)
├── lib/ ← 编译后的 jar 包
└── webapps/ ← 默认应用(ROOT, docs, etc.)
你可以直接运行 output/build/bin/startup.bat
启动编译后的 Tomcat 实例。
✅ 启动方式二:IntelliJ IDEA 启动按钮
⚠️ 如果你是通过 IntelliJ IDEA 打开的 Tomcat 源码工程,构建成功后会自动识别出 Tomcat 项目结构。
📌 此时你将在 IDEA 顶部看到一个绿色的 Tomcat 启动按钮(绿色三角形),点击即可启动:
(如果你使用的是不同版本主题,可能按钮颜色略有不同)
-
启动日志将会输出在
idea
的Run
控制台; -
默认访问地址为:
http://localhost:8080/
🧪 五、准备调试与漏洞复现
下一步,我们将在这个自构建的源码环境中:
-
添加断点,观察 CVE-2025-24513 相关类的调用过程;
-
调试分析 Tomcat 的具体漏洞触发逻辑。
下一篇:还原漏洞调用链:CVE-2025-24813 Tomcat 反序列化漏洞源码深度解析-CSDN博客