常见解析漏洞

IIS6.0-文件解析漏洞
IIS6.0-目录解析漏洞
IIS7.0-畸形解析漏洞

apache-%0a解析漏洞
apache-未知后缀名解析漏洞

nginx-访问文件解析漏洞
nginx-畸形解析漏洞
nginx-截断解析漏洞

IIS 6.0

1、目录解析 example:www.xxx.com/xxx.asp/xxx.jpg
IIS服务器会把.asp .asa目录下的文件都解析成asp文件。其中xxx.jsp可以是任意后缀的文件,但是里面的内容是webshell脚本。
2、文件解析
example:www.xxx.com/xxx.asp;.jpg
分号后面的不解析,所以最后解析的文件就变成了xxx.asp
3、IIS 6.0除了asp还可以解析 .asa .cer .cdx类型的文件
例如:/xxx.asa/xxx.jpg, /xxx.cer/xxx.jpg, /xxx.cdx/xxx.jpg
IIS 7.0,IIS 7.5,Nginx <8.03 畸形解析
在Fast-CGI开启的状态下,在类似xxx.jpg后面加上/xxx.php,变成/xxx.jpg/xxx.php路径会解析成PHP文件

apache

Apache版本在2.4.0到2.4.29
在默认配置下, “上传”一个带“换行符”的php文件上去,使用http://ip/test.php%0a访问,可直接解析PHP内容。

在Apache 1.x和Apache 2.x中1.php.rar会被当作php文件执行。
Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后面向前解析,直到碰到认识的扩展名为止。
例 上传文件:
后缀名bb 不认识,向前解析
后缀名aa 不认识 向前解析
1.php 最终解析结果为PHP文件
这种方法可以绕过基于黑名单的检查。(如网站限制,不允许上传后缀名为PHP的文件)
Apache认识的扩展名保存在安装目录下"/conf/mime.types"文件中。

nginx

是错误配置导致解析漏洞
该解析漏洞和php、Nginx版本无关。
这其中涉及到php的一个选项:cgi.fix_pathinfo,该值默认为1,表示开启。
Nginx解析漏洞利用方式:
上传free.jpg,访问:
/free.jpg/free.php
这样就会以php去解析这个free.jpg文件的内容

00截断解析漏洞
Nginx如下版本: 0.5., 0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37
在使用PHP-FastCGI执行php的时候,URL里面在遇到%00空字节时与FastCGI处理不一致,导致可在非php文件中嵌入php代码,通过访问url+%00.php来执行 其中的php代码。如:http://local/robots.txt%00.php会把robots.txt当php解析

CVE-2013-4547 nginx解析漏洞
影响范围也比较大:
0.8.41~1.4.3, 1.5 <= 1.5.7
这一漏洞的原理是非法字符空格和截止符(\0)会导致Nginx解析URI时的有限状态机混乱,危害是允许攻击者通过一个非编码空格绕 过后缀名限制。是什么意思呢?举个例子,假设服务器上存在文件:“file.aaa ”,注意文件名的最后一个字符是空格。则可以通过访 问:
http://127.0.0.1/file.aaa \0.bbb
让Nginx认为文件“file.aaa ”的后缀为“.bbb”。
来测试下,这次测试在Nginx/1.0.15中进行。首先准备一张图片,命名为“test.html ”,注意,文件名含有空格。然后在浏览器中访问 该文件,会得到一个404,因为浏览器自动将空格编码为%20,服务器中不存在文件“test.html%20”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值