Apache HTTP Server 漏洞测试工具
该仓库提供了一个概念验证(PoC),用于测试 Apache HTTP Server 中的各种漏洞,包括文件名混淆攻击、SSRF、拒绝服务以及其他与近期 CVE 相关的漏洞。该工具会发送精心构造的 HTTP 请求,以评估服务器是否容易受到某些类型的攻击。
功能
- 测试多种漏洞,包括:
- CVE-2024-38472: Windows 上 Apache HTTP Server 的 UNC SSRF
- CVE-2024-39573: mod_rewrite 代理处理器替换
- CVE-2024-38477: mod_proxy 中导致拒绝服务的崩溃
- CVE-2024-38476: 可利用的后端应用输出引发内部重定向
- CVE-2024-38475: mod_rewrite 在文件系统路径匹配方面的弱点
- CVE-2024-38474: 反向引用中编码问号的弱点
- CVE-2024-38473: mod_proxy 代理编码问题
- CVE-2023-38709: HTTP 响应拆分
- 提供易于使用的命令行界面,用于测试各种端点。
工作原理
该工具向可能容易受到混淆攻击或错误配置影响的潜在端点发送 HTTP 请求。它会检查可能导致未经授权的访问或系统故障的特定模式和编码。
测试目标
该工具会在以下路径上检查漏洞:
- php-info.php
- xmlrpc.php
- adminer.php
- bin/cron.php
- cache/index.tpl.php
- cgi-bin/redir.cgi
- 其他可借助编码 URL 实现潜在绕过的路径。
快速开始
先决条件
- 系统上安装了 Python 3.x。
- 用于发送 HTTP 请求的 Python Requests 库。
你可以使用以下命令安装所需的 Python 库:
pip install requests
安装
克隆此仓库:
git clone https://github.com/mrmtwoj/apache-vulnerability-testing.git
cd apache-vulnerability-testing
使用方法
使用该工具时,请提供你要测试的目标 URL:
python3 poc_vulnerability_testing.py --target http://<target-ip>
例如:
python3 poc_vulnerability_testing.py --target http://192.168.1.10
命令行参数
- target: 要测试的 Apache 服务器 URL(例如 http://example.com)。
- info: 显示工具信息,例如开发者名称、版本和相关 CVE。
- about: 显示有关该工具及其用途的信息。