文件解析漏洞,是指Web容器(Apache、nginx、iis等)在解析文件时出现了漏洞,从而,黑客可以利用该漏洞实现非法文件的解析。
0x001 IIS解析漏洞
目录解析
在 IIS5.x/6.0 中,在网站下建立文件夹的名字为*.asp、.asa、.cer、*.cdx 的文件夹,其目录内的任何扩展名的文件都被IIS当做asp文件来解释并执行。例如创建目录 test.asp,那么 /test.asp/1.jpg 将被当做asp文件来执行。假设我们可以控制上传文件夹路径,就可以不管上传后你的图片改不改名都能拿shell了
分号解析漏洞
在 IIS5.x/6.0 中, 分号后面的不被解析,也就是说 test.asp;.jpg 会被服务器看成是test.asp。还有IIS6.0默认的可执行文件除了asp还包含这两种 .asa .cer .cdx ,所以我们只要上传 .asp;.jpg、.asa;.jpg、*.cer;.jpg 后缀的文件,就会把它当成asp文件执行
IIS7.0 IIS7.5畸形解析漏洞
上传一个图片马 xx.jpg
在一个文件路径(/xx.jpg)后面加上/xx.PHP会将 /xx.jpg/xx.php 解析为 php 文件。
0x002 Nginx解析漏洞
Nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通过正则匹配设置SCRIPT_FILENAME。当访问www.xx.com/