1. IIS5.x-6.x解析漏洞
使用iis5.x-6.x版本的服务器,大多为windows server 2003,网站比较古老,开发语句一般为asp;该解析漏洞也只能解析asp文件,win7-win10中多为iis7.x-8.x了,版本比较高。
1.1 目录解析(6.0)
形式:www.xxx.com/xx.asp/xx.jpg
原理:服务器默认会把.asp,.asa目录下的文件都解析成asp文件。
在asp目录下创建文件1.txt,内容为asp一句话木马
使用工具连接木马,查看1.txt文件是否解析为asp文件并执行
木马连接成功
1.2 文件解析
形式:www.xxx.com/xx.asp;.jpg
原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg便被解析成asp文件了。
文件被当作asp执行,忽略掉了后续的1.txt
1.3 解析文件类型
IIS6.0 默认的可执行文件除了asp还包含这三种:
/test.asa
/test.cer
/test.cdx
1.4 修复方案
(1)目前尚无微软官方的补丁,可以通过自己编写正则,阻止上传xx.asp;.jpg类型的文件名。
(2)做好权限设置,限制用户创建文件夹。
2.apache解析漏洞
2.1 漏洞原理
Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如test.php.owf.rar,其中“.owf"和”.rar”这两种后缀是apache不可识别解析,apache就会把xx.php.owf.rar解析成php文件.
2.2 漏洞形式
www.xxxx.xxx.com/test.php.php123
这个漏洞当时通杀了所有的apache搭建的网站。
创建一个文件,内容为<?php phpinfo();?>
发现文件后缀名".oldqiang"无法识别后,向左解析为php文件
2.3 其余配置问题导致漏洞
(1)如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script.php 这时只要文件名里包含.php,即使文件名是 test2.php.jpg 也会以php 来执行。
(2)如果在 Apache 的 conf 里有这样一行配置 AddType application/x-httpd-php .jpg 即使扩展名是xxx.jpg,一样能以php 方式执行。
(3).htaccess文件,导致解析漏洞
3.nginx解析漏洞
nginx本身存在解析漏洞: xx.php/xx.jpg,这个xx.php文件夹下面的任意文件类型都会当作php文件解析,此时,如果php.ini配置文件开启了一个选项,叫做cgi.fix_pathinfo=1,那么会导致的问题是:www.xx.com/phpinfo.jpg/1.php,那么他会将1.php当作目录,将phpinfo.jpg当作这个1.php目录中的文件。