或者,你也可以直接 curl 请求头快速瞄一眼,但接下来要登场的是:
用于 Apache HTTP Server 的非侵入式 HTTP 元数据审计工具 CVE-2026-23918(https://www.openwall.com/lists/oss-security/2026/05/04/19)暴露评估。
该工具发送普通 HTTP HEAD/GET 请求,并执行 TLS ALPN 协商以观察 HTTP/2 支持情况。
uv安装 uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
常见的包管理器示例:
brew install uv [email protected]
sudo apt install python3.13 python3.13-venv pipx && pipx install uv
sudo dnf install python3.13 pipx && pipx install uv
sudo pacman -S uv python
安装项目依赖:
make install
安装用于 lint 的开发者依赖:
make install-dev
打印命令摘要:
make help
审计单个目标:
make run https://example.com
打印单行 CVE 判定结果:
make run https://example.com brief
从 targets.json 审计目标:
make run targets.json brief
可选变量:
make run targets.json brief TIMEOUT=30 CONCURRENCY=10
make run https://example.com INSECURE=1
make run targets.json JSON_OUTPUT=1
在交互式终端中,请求进行时会在 stderr 上显示一个小型 ASCII 旋转指示器。报告输出仍保留在 stdout 上。
targets.json 必须是主机名、IP 地址或 URL 的 JSON 数组:
[
"https://httpd.apache.org",
"https://example.com",
"http://scanme.nmap.org"
]
等效的通用格式:
[
"https://example.com",
"example.org",
"192.0.2.10",
"http://192.0.2.20:8080"
]
每个条目必须是非空字符串。裸主机名和 IP 地址会被规范化为 HTTPS。
Alt-Svc 和 Upgrade 的 HTTP/2 指示器简要输出格式:
https://example.com [Apache/2.4.66] [h2 no] => likely vulnerable (h2 not confirmed)
对于 CVE-2026-23918,Apache 2.4.66 被视为受影响版本,2.4.67 及更高版本被视为已修复版本。较旧的 Apache 版本会被报告为不在已确认的 CVE 范围内。
audit.py:CLI 入口点。auditor/:验证、被动收集、分析、报告和进度显示。成功执行时,会在报告结果后以状态 0 退出。发现结果(包括看似易受攻击的横幅)属于数据输出,不会导致进程失败。
输入验证失败和设置失败可能会以非零状态退出。
结果基于外部可见的元数据,并非软件包状态的权威证明。服务器横幅可能被隐藏、修改、向后移植,或经由中间设备路由。
CC0 1.0 Universal。参见 LICENSE。