解析漏洞

1、漏洞简介


解析漏洞是指web服务器因对http请求处理不当导致将非可执行的脚本,文件等当做可执行的脚本,文件等执行。该漏洞一般配合服务器的文件上传功能使用,以获取服务器的权限。

2、漏洞成因、检测及利用


使用了低版本的,存在漏洞的web服务器。解析漏洞有以下几种:

IIS 5.x/6.0解析漏洞

目录解析:在网站下建立文件夹的名称中带有.asp、.asa等可执行脚本文件后缀为后缀的文件夹,其目录内的任何扩展名的文件都被IIS当作可执行文件来解析并执行。

http://www.xxx.com/xx.asp/xx.jpg

文件解析:在IIS6.0下,分号后面的不被解析,也就是说6.0下,分号后面的不被解析,也就是说xx.asp;.jpg将被当做xx.asp解析并执行。

http://www.xxx.com/xx.asp;.jpg

IIS6.0 默认的可执行文件有asp、asa、cer、cdx四种。

IIS 7.0/IIS 7.5/ Nginx <0.8.3畸形解析漏洞

在默认Fast-CGI开启状况下,访问以下网址,服务器将把xx.jpg文件当做php解析并执行。

http://www.xxx.com/xx.jpg/.php

Nginx <8.03 空字节代码执行漏洞

影响范围:Nginx0.5.,0.6., 0.7 ⇐ 0.7.65, 0.8 ⇐ 0.8.37

访问以下网址,服务器将把xx.jpg文件当做php解析并执行。

http://www.xxx.com/xx.jpg%00.php

Apache解析漏洞

Apache对文件解析是从右到左开始判断解析,如果文件的后缀为不可识别,就再往左判断,解析。 如xx.php.owf.rar,由于Apache无法解析rar和owf后缀,但能够解析php后缀,因此Apache会将xx.php.owf.rar当做php格式的文件进行解析并执行。

访问以下网址,服务器将把xx.php.owf.rar文件当做php解析并执行。

http://www.xxx.com/xx.php.owf.rar

CVE-2013-4547 Nginx解析漏洞

访问以下网址,服务器将把xx.jpg文件当做php解析并执行。

http://www.xxx.com/xx.jpg(非编码空格)\0.php

使用.htaccess将任意文件作为可执行脚本解析

如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入:

<FilesMatch ".(jpg)$"> SetHandler application/x-httpd-php </FilesMatch>

这将把目录下的所有后缀为jpg的文件当做可执行的php脚本进行解析并执行。

3、实际案例

4、漏洞修复


升级web服务器版本或安装相应的官方补丁。

5、相关资源