浅谈HttpPut方法的利用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈HttpPut方法的利用
浅谈Http Put方法的利用
天翼
前几天发现我比较喜欢的一个论坛在主页上挂了类似QQ弹窗广告形式的欺骗连接,随手便对网站进行了探测,发现该网站存在Http put方法上传漏洞,经过测试可以被修改主页,删除目录文件等。
下面就和大家分享一下本次渗透的乐趣。
首先给大家推荐一个小工具,天阳网络的小王大哥写的WebDavScaner。
下图为扫描后截图。
图一webdavscaner
在扫描探测完毕之后,发现该站点存在”Http Put方法站点篡改漏洞”。
该漏洞可能会在Web服务器上运行远程命令(这通常意味着完全破坏服务器及其内容)。
可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。
这个漏洞危害这么大,我们来看看在此能把这个漏洞应用到什么程度吧。
针对Http put漏洞的产生这里先简单介绍一下,这个漏洞主要是因为WebDav配置不严导致我们的应用程序可直接对WebServer进行读写。
WebDav请求的格式中提供了一组可供客户端与服务器通讯的方法,并指定响应(从服务器返回发出请求的客户端)的格式。
WebDav完全采用此规范中的所有方法,扩展其中的一些方法,并引入了其他可提供所描述功能的方法。
主要的方法包括
WebDAV 请求的一般结构遵循 HTTP 的格式并且由以下三个组件构成:
下面,我们开始提交信息,就是我们telnet到网站的80端口,输入提交信息等,但是在我们telnet的时候只能输入一行信息就自动退出了,那有没有什么好的办法呢?这里我们使用网络瑞士军刀NC。
打开cmd窗口,输入:nc –vv 80 。
然后输入请求的数据包头信息和测试页信息并提交,这里注意提交信息需要区分大小写和空格,PUT之后填写路径名称。
表一提交的代码
上传详细过程请看图2
Nohack.txt上传成功,请见图3。
图3
在图2的基础上,请大家看下第4步机器的返回状态为”201 Created”,意思就是使用HTTP PUT方法将文件上载到服务器成功。
上传成功之后可以使用Move方法直接得到webshell。
总结
本次渗透主要是因为IIS管理器设置问题导致的漏洞被利用,这里需要注意利用该漏洞有两个前提。
1、需要在iis管理器里面对目录设置“写”权限。
2、需要在开启目录的权限设置中,添加了IU_USER (Internet匿名访问用户)的写权限。
修补建议:
重新配置Web 服务器来拒绝HTTP“PUT”请求(所有目录),或将PUT 方法限制于受信任的用户。