中间件漏洞解析漏洞和文件包含漏洞

一、应用解析漏洞


1.低版本iis解析漏洞 

在网站根目录创建一个xx.asp文件夹,之后在上传一个xx.jpg的文件,访问jpg文件,即可获取shell,需要上传一个有写入权限

上传文件xx.aps;.jpg 需要有写入权限。

上传文件后缀名为xx.asa  xx.cer  xx.cdx

2.高版本iis需要把请求限制的 对勾 给去掉,才会有解析漏洞
192.168.0.106:8089/1.jpg/.php,这样去构造。

3.apache解析漏洞(是根据apache的解析是右向左进行的,遇到认识的才开始解析前面的)

上传上去一个xxx.php.xxx 的文件可以解析成php文件来执行(前提上传上去的文件名不用修改)

如果上传了一个.htaccess文件,则都会被当做PHP来执行,一点要过滤.htaccess文件。

4.nginx解析漏洞

nginx<8.03 
空字节代码执行漏洞
xxx.jpg%00.php 截断

高版本的nginx
修改配置文件 让fix_pathinfo为1(phpinfo中可以看出来,默认为开启状态)

可以使用777.jpg/1.php
777.jpg%00.php
777.jpg/%20\0.php

4.高版本iis7.5解析漏洞
也需要开启cgi解析,并且将fix_pathinfo 设置为1,处理程序映射中的√是去掉的
与上面的nginx类似
执行:xx.jpg/.php 



二、代码解析漏洞

1.上传.htaccess文件 ,是将本文件夹中的所有文件用php来执行  也可以称为文件包含漏洞 
文件内容为:

SetHandler application/x-httpd-php

2.本地文件包含
文件包含漏洞的查找,当有源代码的时候可以直接查找,相关函数,当没有源代码的时候我们就需要手工包含别的文件来看看是否有包含漏洞。

文件包含有四个函数,遇到错误不会停止执行:include()、include_once()
                                    遇到错误会停止执行:require()、ruquire_once()
                                    我们一般使用include()和include_once()

需要我们把allow_url_include()设置为on状态、magic_quotes_gpc为off状态

(1)包含漏洞一般采用图片与文件一起上传,利用包含漏洞将图片中的一句话木马给解出来。
(2)需要使用../来进行返回上一级目录,如果被过滤可以进行..././进行过滤。
(3)如果没有发现需要进行上传的漏洞,我们可以选择选择找到日志文件进行包含获取webshell,/apache/logs/access.log目录,但是目录前面的../需要自己构造。
(4)文件包含读文件和写文件,这个都需要使用php协议
读文件:php://filter/read=convert.base64-encode/resource=     (使用base64加密防止报错)
写文件:php://input   在post中提交
(5)str_replace()函数,可以将http、https、../、..\都替换为空或删除。
我们需要使用hthttp://tp://和..././进行绕过,绝对路径也可以不会受影响。
(6)fnmatch()函数,只允许include和file头进行访问
我们可以使用file协议file://c:1.txt 这里绝对路径和../都支持。一般企业都使用这个函数进行过滤。

你可能感兴趣的:(中间件漏洞解析漏洞和文件包含漏洞)