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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-28318-check — 安全地检测 SolarWinds Serv-U 主机是否存在 CVE-2026-28318 漏洞 | Kitploit
工具/GitHubGitHub/bishopfox/cve-2026-28318-check
侦察漏洞分析漏洞利用信息收集Web安全渗透测试
GitHubbishopfox/cve-2026-28318-check

CVE-2026-28318-check

安全地检测 SolarWinds Serv-U 主机是否存在 CVE-2026-28318 漏洞

查看仓库
222个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SolarWinds Serv-U 未认证拒绝服务:安全检测脚本

一个安全的、非破坏性的检测器,用于 CVE-2026-28318,该漏洞是 SolarWinds Serv-U <= 15.5.4.108 中的一个未认证拒绝服务。单个包含 Content-Encoding: deflate 的 POST 请求,其主体会被送入内存中的 deflate 解压缩器 (CZLibCompression),后者的缓冲区管理执行了一个无效的 free(),导致 Serv-U 服务进程中止。(CVSS 7.5, AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, CWE-763。)

此脚本不会导致目标崩溃。它只针对每个主机回答一个问题:是否缺少 15.5.4 HF1 修复? 这正是服务器是否易受 CVE-2026-28318 攻击的精确代理。

运行安全吗?

是的。这正是本工具的意义所在,可安全地在生产环境运行:

  • 它从不发送 deflate。deflate 是唯一一个会触发漏洞解压缩器的 Content-Encoding 值。该脚本发送单个 POST 请求,使用无害的 Content-Encoding: identity 和简短主体,这永远不会进入崩溃代码路径。
  • 它是一个差分检查,而非漏洞利用。HF1 修复(构建版本 15.5.4.125)会拒绝任何带有主体和非空 Content-Encoding 的请求,并返回 415 Unsupported Media Type。易受攻击的构建版本没有此类检查,会正常处理 identity 探测。因此,结论完全取决于状态码,服务永远不会被破坏。
  • 它是预认证且只读的。一个请求,无需登录,不改变任何目标状态。

工作原理

该脚本向站点根目录发送一个安全的 POST 请求,并读取状态码:

目标通过探测响应的自身 Server 头被识别为 Serv-U,因此无需单独的识别请求。

它证明修复缺失;它不会通过崩溃服务来确认。 VULNERABLE 结论意味着 HF1 输入验证检查缺失,这正是此 CVE 的精确代理。脚本有意停在此处,而不是发送会崩溃的 deflate 值。

要求

  • Python 3.7+,仅使用标准库,无需第三方包。

用法

root@kitploit:~
# 单个主机(方案默认为 https://)
./cve_2026_28318_check.py 10.0.0.5

# 显式 URL / 端口
./cve_2026_28318_check.py https://10.0.0.5:443

# 同时检查多个主机
./cve_2026_28318_check.py host-a:443 host-b https://host-c

# 扫描列表文件,每行一个目标(支持 '#' 注释),紧凑输出
./cve_2026_28318_check.py -f targets.txt --brief

# 机器可读输出,适用于管道
./cve_2026_28318_check.py -f targets.txt --json > results.json

选项

示例

一个易受攻击的 Serv-U 服务器(在 TTY 上 [!] 标记和 VULNERABLE 显示为红色):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5
[!] https://10.0.0.5: VULNERABLE  [missing-415-gate]
      Serv-U 对 identity 探测返回了 401(而非 415),因此 HF1 415 检查缺失(构建版本 <= 15.5.4.108),CVE-2026-28318 未打补丁。这证明修复缺失;它不会导致服务崩溃。请应用 15.5.4 HF1(构建版本 15.5.4.125+)。

已打补丁的服务器返回 PATCHED(HF1 415 检查对 identity 探测做出响应):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.6
[+] https://10.0.0.6: PATCHED  [hf1-415-gate]
      Serv-U 对 identity 探测返回了 415,因此 15.5.4 HF1 输入验证检查存在(构建版本 >= 15.5.4.125)。不受 CVE-2026-28318 影响。

扫描列表,每个主机一行对齐输出(--brief)。退出状态为 1(若有任何主机是 VULNERABLE),否则为 0,这在脚本中很方便:

root@kitploit:~
$ ./cve_2026_28318_check.py -f targets.txt --brief; echo "exit: $?"
VULNERABLE  https://10.0.0.5                 missing-415-gate
PATCHED     https://10.0.0.6                 hf1-415-gate
NOT-SERV-U  https://10.0.0.7                 not-servu
ERROR       https://10.0.0.8                 no-response
exit: 1

机器可读输出,适用于管道(--json):

root@kitploit:~
$ ./cve_2026_28318_check.py https://10.0.0.5 --json
[
  {
    "target": "https://10.0.0.5",
    "verdict": "VULNERABLE",
    "reason": "missing-415-gate",
    "detail": "Serv-U 对 identity 探测返回了 401(而非 415),因此 HF1 415 检查缺失(构建版本 <= 15.5.4.108),CVE-2026-28318 未打补丁。这证明修复缺失;它不会导致服务崩溃。请应用 15.5.4 HF1(构建版本 15.5.4.125+)。"
  }
]

结论

退出码

代码含义
0没有目标为 VULNERABLE
1至少有一个目标为 VULNERABLE
2使用错误(参数错误 / 无法读取目标文件)

局限性

  • 代理 / TLS 终止。Serv-U 前面的反向代理或负载均衡器可能剥离 Server 头(报告为 NOT-SERV-U)或自行响应 415(可能导致错误的 PATCHED)。尽可能将工具直接指向 Serv-U 管理接口。
  • 非崩溃测试。VULNERABLE 结论证明 HF1 输入验证修复缺失;它不演示崩溃(有意如此)。该检查正是此 CVE 的精确代理。
  • TLS 未验证。Serv-U 管理接口通常使用自签名证书,因此脚本不验证证书。它仅确认可达性并读取状态,不进行其他操作。
  • 仅可达性。结果反映从您运行网络位置看到的服务器响应。

补救措施

升级到 SolarWinds Serv-U 15.5.4 Hotfix 1(构建版本 15.5.4.125) 或更高版本,该版本添加了输入验证检查,拒绝同时带有主体和非空 Content-Encoding 的请求。在修补之前,请限制对 Serv-U 服务的网络访问,仅允许信任来源。

许可证

此代码基于 MIT 许可证 分发。

法律免责声明

未经事先双方同意使用此工具攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,也不对因使用此程序导致的任何误用或损害负责。

参见

  • NVD: CVE-2026-28318
  • MITRE: CVE-2026-28318
下载工具
identity 探测响应结论含义
Serv-U 服务器头,状态码 ≠ 415(例如 401 / 404 / 200 / 302)VULNERABLE [missing-415-gate]HF1 415 检查缺失,因此构建版本 <= 15.5.4.108,CVE-2026-28318 未打补丁。
Serv-U 服务器头,状态码 = 415PATCHED [hf1-415-gate]HF1 输入验证检查存在,因此构建版本 >= 15.5.4.125。不受影响。
有响应,但无 Serv-U 服务器头NOT-SERV-U [not-servu]不是 Serv-U 服务器,或者代理剥离了该头。
无可用响应 / 连接失败ERROR [no-response]HTTP 服务不可达、被过滤、TLS 错误或超时。
标志描述
targets一个或多个 HOST[:PORT] 或 URL(方案默认为 https://)
-t, --target TARGET添加一个目标(可重复)
-f, --file FILE从文件中读取目标(每行一个;# 为注释)
-b, --brief每个目标单行对齐输出,适合扫描大量主机
--json输出结构化 JSON 结果
--no-color禁用彩色输出(同时遵守 NO_COLOR 和非 TTY 环境)
--timeout SECS每次探测的超时时间(默认:10)
-v, --verbose显示发送的探测请求和原始响应头
结论原因标签含义
VULNERABLEmissing-415-gateServ-U 服务器缺少 HF1 415 检查,因此构建版本 <= 15.5.4.108,CVE-2026-28318 未打补丁。立即修补。
PATCHEDhf1-415-gateServ-U 服务器对 identity 探测响应 415,因此 HF1 修复存在(构建版本 >= 15.5.4.125)。
NOT-SERV-Unot-servu有响应,但无 Serv-U 服务器头;不是 Serv-U,或者代理剥离了该头。
ERRORno-response无可用 HTTP 响应(该端口无服务、被过滤、TLS 错误或超时)。
ERRORbad-target目标参数无法解析。