2021年10月5日,发布了一个关于Apache HTTP Server v2.4.49路径遍历攻击的CVE漏洞详情。该漏洞编号为CVE-2021-41773,其描述如下:
在Apache HTTP Server 2.4.49的路径规范化变更中发现了一个缺陷。攻击者可以利用路径遍历攻击,将URL映射到预期文档根目录之外的文件。如果文档根目录之外的文件未受到"require all denied"保护,则这些请求可能成功。此外,此缺陷可能泄露解释性文件(如CGI脚本)的源代码。该问题已知在野外被利用。此问题仅影响Apache 2.4.49,不影响更早版本。
[+] Apache 2.4.49(未启用CGI),我们只能读取文件。只需对每个路径段中的一个点进行URL编码,即可直接访问所需的文件。
[+] Apache 2.4.49(启用CGI) 启用CGI会使情况复杂化,因为模块会尝试执行检索到的文件。对于像 /etc/passwd 这样的纯文本文件,这可能会带来问题:)。为了执行代码,我们可以简单地在请求体中调用sh或bash并附带命令。注意,还需要发送Content-Type响应头,以便客户端知道如何显示结果。
[+] Apache 2.4.50 该特定示例在2.4.50版本中已修复。然而,修复并不完整,未能考虑到对URL的双重编码。