Webdav安全配置相关与漏洞利用

0x00 简介 WebDAV是一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法。 使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。 IIS实现Webdav是采用的其两种接口CGI、ISAPI的ISAPI接口。 但因为其没有采用影射的方式,所以IIS的主程序w3svc.dll本身包含了Webdav的信息。 其识别出是Webdav的请求后就调用Webdav的处理模块httpext.dll。 对于常见几种请求方法 GET、HEAD、POST 等,因为常见一些映射都支持。 所以不能以请求方法作为Webdav请求的判断,w3svc.dll就根据请求头的字段识别。 如果请求头里面包含 Translate:、 If:、 Lock-Token: 中的一种,就认为是Webdav的请求。 Translate: 就是那个 Translate:f 的泄露源代码的一个请求头,其实设置别的两个也是一样的。 可能很多IDS是没有这点知识的。W3svc.dll还内置了几个别的请求方法 TRACK、 TRACE 等。 TRACK 就是用于调试错误的,如果收到这样的请求头,w3svc.dll会原样返回请求数据。 相当于我们常见的ping.exe。 IIS对 TRACK 请求没有进行LOG记录,这点我们可以用于来获得banner。 对于IIS将优于大家习惯使用的 HEAD。 如果上面的请求方法没匹配,那么w3svc.dll就会认为是Webdav的请求,交给httpext.dll处理了。 这些请求包含Webdav支持的 PROPFIND、 PROPPATCH、 MKCOL、 DELETE、 PUT、 COPY、 MOVE、 LOCK、 UNLOCK 等。 0x01 配置 为了安全上的考虑,IIS默认并不会启动WebDAV的功能,因此必须另外来激活它。 通过启动“IIS管理器”,展开本地计算机,选择“Web服务扩展”,选择“允许”的途径来启动WebDAV功能。 开启WebDAV之后,IIS就支持 PROPFIND、 PROPPATCH、 MKCOL、 DELETE、 PUT、 COPY、 MOVE、 LOCK、 UNLOCK 等方法了。 当IIS中的配置允许写入的时候就可以直接PUT文件上去,由此可能引发非常严重的安全问题,强烈建议禁制 ...

2016年9月12日 · 1 分钟 · lucien116