漏洞原理
WebDAV (Web-based Distributed Authoring and Versioning) 是一种HTTP1.1的扩展协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。可以像在操作本地文件夹一样操作服务器上的文件夹,该扩展也存在缺陷,可以被恶意攻击者利用,直接上传恶意文件。
环境搭建
搭建IIS,并做如下设置:
复现
首先利用工具进行验证:
为了验证是否是webdav组件的问题,把webdav禁用掉,立刻就会在put下面显示NO,
这就是因为IIS PUT SCANER通过webdav查询的时候查不到PUT了。
接下来利用桂林老兵的iiswriter上传webshell到服务器,这个过程时首先上传一个txt文件,上传之后再重命名为asp文件。
选择PUT上传webshell,这里后缀为txt,然后提交数据包,会在服务端生成一个test.txt的文件,但是这个文件是无法被iis解析的,所以要利用到的是MOVE,主要目的是为了将txt的文件修改为asp的,从而可以将文件变成可执行的脚本文件
靶机中成功上传test.txt文件:
用菜刀进行连接,成功连接