很多人也许觉得IIS PUT这玩意不值一提啊...其实不然,身在乙方,给客户做安服的时候总是遇到IIS写权限的问题,一方面WVS7.0已经可以扫描并且使用POC成功写入漏洞目标,另一方面无聊的土耳其或者印度尼西亚黑客总是喜欢利用写权限上传txt或者html到漏洞目标,以示对方的hack技术的强大。

目前大家所见到的IIS写权限利用,其实说白了是菜鸟管理员对IIS的错误配置问题(2个错误配置造成):
1.WEB服务器扩展里设置WebDAV为允许;
2.网站权限配置里开启了写入权限。

至于WebDAV,看看百度百科的介绍:

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

很多微软自带的客户端工具可以发布与管理Web上的资源,就是通过WebDAV了;但是,正常的Web网站一般情况下是用不到的,因此,一般情况下根本没有必要允许WebDAV。
至于写权限,大家都明白,写权限就是允许PUT,与网站自身运行的权限无丝毫联系,如果开启了,那就是没有一点安全意识了。

于是想说的是,现在的情况下所谓IIS写权限漏洞其实是人祸,一个合格的服务器管理员不应该犯这样的错误的...

漏洞的利用大家都清楚,出来好多好多年了,大家都知道用zwell的IIS put scanner和老兵的写权限利用工具去获取一个webshell,其实是先PUT一个txt,然后MOVE成asp,详情可以参考《再试IIS写权限以及move为asp的问题》,但这篇文章的最后遗留了一个问题:在X-Powered-By: ASP.NET即.NET环境下无法MOVE成功(当时还没有分析出是什么特定的环境的导致这个问题的,后来才知道是.NET环境),返回207 Multi-Status。

这个问题当时纠结了好久,一直没人回答。直到后来IIS6.0文件解析漏洞的出来,于是自己的问题被自己解决了,用了好久了,好像也有人提过了:
先PUT一个txt到服务器,如:oldjun.txt,然后

MOVE /oldjun.txt HTTP/1.1
Host: www.oldjun.com
Destination: http://www.oldjun.com/shell.asp;1.jpg

报文可以用nc送过去,然后返回的http状态码为202,则证明MOVE成功了。

其实只要开启了WebDAV,有个更好的工具推荐大家使用:DAV Explorer
如果没打开写权限,你可以使用这个工具遍历目录浏览文件;若开启了写权限,则轻轻松松网站尽在你的掌握中...

转载请注明来自WebShell'S Blog,本文地址:https://www.webshell.cc/4294.html