一、漏洞介绍
根据put协议,当我们浏览某个网站,访问某个资源时,如果网站存在这个资源,则会进行替换,若网站不存在这个资源,则会创建这个资源,所以我们可以利用put直接对网站写shell。
而IIS Server 如果在 Web 服务扩展中开启了 WebDAV ,配置了可以写入的权限,结合put协议就会造成任意文件上传漏洞。
二、Win2003_IIS6.0环境搭建
依次点击开始,控制面板,添加或删除程序
选择左侧第三个,选择应用程序服务器
双击打开应用程序服务器,取消勾选应用程序服务器控制台,勾选ASP.NET,点击确定
点击下一步,等待安装
安装完成后依次点击开始,管理工具,点击进入Internet信息服务(IIS)管理器
IIS环境搭建完成
三、PUT漏洞
漏洞复现
在靶机win2003搭建好IIS服务(iis6.0),开启IIS的WebDAV功能:
依次点击左侧网站,默认网站(右击),属性,主目录,勾选读取,写入、脚本资源访问
点击默认网站(右击)选择权限,允许来宾用户的写入权限,
访问win2003ip地址,使用burp抓包,将GET请求修改为OPTIONS请求
使用IIS put scanner扫描一下判断是否允许put方法
把WebDAV禁止,再次扫描发现无法扫描
使用iiswrite工具进行iis put漏洞测试利用,首先使用PUT方法进行绕过,上传包含 asp 一句话木马的 txt 文件,发现文件已经上传成功
利用move方法将 txt 转为木马文件,执行后出现报错但依然可以发现生成了 .asp 文件
使用蚁剑进行连接,成功getshell
四、漏洞修复方案
1.在Web 服务扩展中关闭 WebDAV;
2.禁用访客写入权限。