基于Docker的实验环境,用于Apache CVE-2021-41773路径遍历和远程代码执行漏洞利用,附带Python漏洞利用脚本,演示漏洞分析和缓解策略。
该仓库在受控的 Docker 实验室环境中重现了一个已公开披露并已修补的漏洞,仅供教育和研究目的。
该环境故意存在漏洞,且只能在隔离的测试环境中部署。未经明确授权,请勿尝试利用系统。
该项目旨在演示漏洞分析、利用及缓解策略。
路径遍历与远程代码执行
# 进入项目文件夹
cd Apache-CVE-2021-41773
# 验证 compose 语法
docker compose config
# 启动实验室
docker compose up -d --build
# 检查所有服务是否正常运行
docker compose ps
Apache 2.4.49 引入了一个 URL 路径规范化 的缺陷。类似 .%2e(等同于 ..)的编码序列未得到正确清除,从而允许攻击者 遍历目录树 超越 DocumentRoot。
如果启用了 mod_cgi,并且根目录 (/) 配置了 Require all granted,攻击者可以:
/bin/sh 解释器执行命令(远程代码执行)exploit.py)无需外部依赖——仅使用 Python 标准库。
Auto python exploit.py 检查漏洞并运行 id 作为演示
读取文件 python exploit.py -f /etc/shadow 通过 RCE 读取任意文件
RCE python exploit.py -c "whoami" 执行单条命令
Shell python exploit.py -i 交互式伪 Shell
自定义目标 python exploit.py -u http://target:8888 指定远程主机
首先,我们验证环境是否存在漏洞
如预期,命令返回了 uid=0(root) gid=0(root) groups=0(root)
让我们创建一个反弹 Shell:
我们已登录为 root
如您所见,/proc/1/environ 存在配置错误,我们得到了 SQL 密码 这揭示了因不安全的容器配置而暴露的机密信息
利用提取的凭据,我们连接到 MySQL 数据库,并打印存储的数据

切勿在生产环境中复现这些配置。