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

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

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

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

工具目录

分类

查看所有分类
Loading categories
web-server-audit_CVE-2026-42945 — 针对nginx和Apache的触发感知Web服务器CVE审计。超越版本匹配,检查易受攻击的代码路径在您的配置中是否实际可达。将发现分类为活动/潜在/未验证。单文件Python 3.5+,无依赖。 | Kitploit
工具/GitHubGitHub/sibersan/web-server-audit_cve-2026-42945
漏洞扫描器漏洞分析配置审计Web安全DevSecOps错误配置
GitHubsibersan/web-server-audit_cve-2026-42945

web-server-audit_CVE-2026-42945

针对nginx和Apache的触发感知Web服务器CVE审计。超越版本匹配,检查易受攻击的代码路径在您的配置中是否实际可达。将发现分类为活动/潜在/未验证。单文件Python 3.5+,无依赖。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
43个月前尚未审核
分享

web_server_audit

不要问你是否易受攻击。问你是否可被利用。

一个单文件 Python 工具,通过检查已安装版本以及通过你的配置是否实际可达脆弱代码路径,来审计 nginx 和 Apache 已知 CVE。

为什么?

大多数 CVE 扫描器只停留在版本匹配上:"nginx 1.18.0 — CVE-2026-42945,高危,你易受攻击。" 但许多 CVE 需要特定的配置模式才能被利用。忽略配置的扫描器会向你发出大量与真实风险不符的红色警报——更糟的是,它会掩盖那些如果你明天改变了配置就会变成真实风险的潜在风险。

web_server_audit 针对每个 CVE 回答两个不同的问题:

  1. 安装的版本是否在受影响范围内?
  2. 触发模式是否存在于当前配置中?

将两者结合,得出三种诚实的分类:

分类含义
🔴 活跃利用风险版本受影响且触发模式存在。今天即可被利用。
🟡 潜在风险版本受影响,但无触发模式。如果配置变更引入该模式,则可能被利用。
⚪ 未验证配置不可读;状态未知。

功能

  • 🎯 针对每个 CVE 的触发检测(不仅仅是版本匹配)
  • 🟢 执行摘要中区分活跃与潜在风险
  • 🐧 Ubuntu Pro / ESM 感知——标记来自 ESM 覆盖范围之外的软件包
  • 🔬 ASLR 检查、服务状态、监听端口、近期 SIGSEGV 计数
  • 🎨 彩色终端输出,JSON 用于自动化
  • 📦 单文件,Python 3.5+,无第三方依赖
  • 🔌 极易扩展——添加一个新 CVE 只需约 10 行

快速开始

root@kitploit:~
git clone https://github.com/YOUR_USERNAME/web-server-audit.git
cd web-server-audit
sudo python3 web_server_audit.py

支持的 CVE(nginx)

Apache CVE 列表当前为空,但框架已就位——参见下面的扩展。

其他检查

除了 CVE 之外,该工具还报告:

  • ASLR 状态(/proc/sys/kernel/randomize_va_space)——完整的 ASLR 可显著降低内存错误的 RCE 可利用性
  • 操作系统版本和 EOL 状态——标记已终止支持或仅 ESM 支持的发行版
  • Ubuntu Pro (ESM) 订阅状态(针对 esm-infra 和 esm-apps)
  • 服务状态——nginx/Apache 是否实际运行,以及监听端口
  • 软件包来源——区分 ESM、PPA 和标准仓库安装(Ubuntu)
  • 工作进程崩溃——统计过去 30 天内的 SIGSEGV 事件,作为活跃利用的指标

需求

  • Python 3.5+(适用于 Ubuntu 18.04 自带的 Python 3.6)
  • 无需第三方包——仅标准库
  • 当可用时使用 nginx、apache2、systemctl、ss、journalctl;否则优雅跳过检查

用法

root@kitploit:~
# 紧凑报告(默认——隐藏 OK 行)
sudo python3 web_server_audit.py

# 包括 OK 行的所有发现
sudo python3 web_server_audit.py --verbose

# 无 ANSI 颜色(适用于管道、日志、CI 输出)
sudo python3 web_server_audit.py --no-color

# 机器可读 JSON
sudo python3 web_server_audit.py --json

退出码

代码含义
0无问题
1仅警告或非 CVE 关键发现
2至少一个 CVE 可被主动利用

退出码 2 是自然的 CI/CD 失败信号。

示例输出

root@kitploit:~
========================================================================
Web Server Audit - 2026-05-16T01:24:55
主机: web-prod-01
web_server_audit.py v1.0.0 - SiberSAN - MIT 许可证
========================================================================

[系统]
------------------------------------------------------------------------
  [OK] OK    ASLR 完全启用(randomize_va_space=2)
  [i] INFO  操作系统: Ubuntu 18.04.6 LTS
  [!] WARN  Ubuntu 18.04 仅受 ESM 支持

[nginx] 版本 1.18.0(活跃中)
------------------------------------------------------------------------
  [i] INFO  nginx 监听于: 0.0.0.0:80, 0.0.0.0:443
  [i] INFO  CVE-2026-42945 (高): 版本受影响但未触发
           触发条件: rewrite + 未命名捕获($1,$2) + 替换中含 '?'
           证据: 配置中无 rewrite 指令
  [i] INFO  CVE-2026-42946 (中): 版本受影响但未触发
  [!] WARN  nginx 通过 PPA 安装 (1.18.0-3ubuntu1+bionic1)

========================================================================
真实风险总结
------------------------------------------------------------------------
活跃利用风险: 未检测到。

潜在风险 - 版本受影响,但配置中无触发模式 (3):
  - [nginx] CVE-2026-42945 (高)
  - [nginx] CVE-2026-42946 (中)
  - [nginx] CVE-2026-42934 (低)
  如果配置变更引入触发模式,这些将成为可利用风险。
  缓解措施: 配置变更纪律 + 计划升级。

========================================================================
发现: 0 个严重,2 个警告
========================================================================

扩展

添加一个新 CVE 需要两步。

1. 编写一个触发函数,接受完整配置文本(nginx -T 输出)并返回 (触发了: bool, 证据: str):

root@kitploit:~
def _trigger_my_cve(conf):
    hits = [l for l in conf.splitlines() if re.search(r'risky_directive', l)]
    if hits:
        return True, "发现: " + hits[0]
    return False, "模式不存在"

2. 将条目添加到 NGINX_CVES(或 APACHE_CVES):

root@kitploit:~
{
    "id": "CVE-XXXX-NNNNN",
    "name": "描述性名称",
    "severity": "高",
    "affected": ("1.10.0", "1.25.0"),
    "fixed_in": ["1.25.1"],
    "trigger_desc": "人类可读的触发描述",
    "trigger_fn": _trigger_my_cve,
},

就这样。框架会自动处理分类、输出格式、JSON、退出码和执行摘要。

限制

  • 无主动利用测试。 不发送任何概念验证请求。这是一个纯粹的配置和版本分析工具。
  • CVE 数据库是内嵌且手动整理的;无在线同步。保持列表最新是用户的责任。
  • 触发检测器是启发式的。复杂的配置(深层嵌套的 include 或异常引号)可能产生误报或漏报。如有疑问,使用 --verbose 查看详细信息。
  • 已在 Ubuntu 18.04、20.04、22.04 和 24.04 上测试。该工具很可能在其他 Linux 发行版上运行,但软件包来源检测(ESM/PPA)是 Ubuntu 特有的。

贡献

欢迎提交 Pull Request、Issue、新的 CVE 检测器以及对其他 Web 服务器(lighttpd、Caddy、HAProxy 等)的支持。

在提议新的 CVE 检测器时,请包含:

  • CVE 记录的链接(NVD、供应商公告或上游变更日志)
  • 能够触发检测器的最小配置片段
  • 一个不应触发它的反例

许可证

根据 MIT 许可证 发布。

版权所有 © 2026 SiberSAN

下载工具
CVE严重性触发模式
CVE-2026-42945 (Rift)高rewrite + 未命名捕获($1,$2)+ 替换中包含 ?
CVE-2026-42946中使用了 scgi_pass 或 uwsgi_pass
CVE-2026-40701中ssl_stapling on + resolver 同时出现
CVE-2026-42934低charset/charset_types/source_charset 指令