上传漏洞可谓是网站入侵者最喜欢,最乐意的攻击手法,正因如此,程序员对上传文件的扩展名过滤,也是绞尽脑汁,从以前的黑名单过滤,通过判断扩展名是否为.asp,.asa,.cer等,到现在白名单直接判断扩展名是否为 jpg,gif,png,rar,zip等,甚至以前常用的00截断上传很多情况也不起作用了,但这并不意味着上传漏洞就已无用武之地,当你看到服务器的目录解析和文件解析问题后,上传也可谓是峰回路转了一回。
Windows2003+IIS6.0 目录解析漏洞 1 会把xxx.asp目录下的文件都以asp来进行解析 2 1.asp;_2.gif形式的文件也会被当做asp来解析 Apache2.2.14 目录解析漏洞 不管文件最后后缀为什么,只要是.php.*结尾,就会被Apache服务器解析成php文件,问题是apache如果在mime.types文件里面没有定义的扩展名在诸如x1.x2.x3的情况下,最后一个x3的没有定义,他会给解析成倒数第二个的x2的定义的扩展名。所以xxx.php.rar或者xxx.php.111这些默认没在mime.types文件定义的都会解析成php的。同样如果是cgi或者jsp也一样。。。那么如果涉及到web程序的上传页面,如果上传的文件名是我们可以定义的,那么我们完全可以上传一个xxx.php.abc这样名字的webshell,apache仍然会当作php来解析。 防御方法: apache配置文件,禁止.php.这样的文件执行,配置文件里面加入 <Files ~ [\.(php.|php3.)]> Order Allow,Deny Deny from all </Files> Nginx-0.8.37 文件解析漏洞 通过访问 http://www.2cto.com /phpinfo.txt/abc.php则会以php文件来解析phpinfo.txt 解决方案: 1 修改php.ini将cgi.fix_pathinfo设为0,重启php反向代理服务 2 为nginx 虚拟主机 添加如下内容: if ( $fastcgi_script_name ~ \..*\/.*php ) { return 403; }
摘自http://www.imiyoo.com/blog/?p=42查看更多关于上传漏洞助手之服务器解析 - 网站安全 - 自学p的详细内容...