2024年4月27日发(作者:)

浅谈Http Put方法的利用

天翼

前几天发现我比较喜欢的一个论坛在主页上挂了类似QQ弹窗广告形式的欺骗连接,随

手便对网站进行了探测,发现该网站存在Http put方法上传漏洞,经过测试可以被修改主页,

删除目录文件等。下面就和大家分享一下本次渗透的乐趣。

首先给大家推荐一个小工具,天阳网络的小王大哥写的WebDavScaner。下图为扫描后

截图。

图一 webdavscaner

在扫描探测完毕之后,发现该站点存在”Http Put方法站点篡改漏洞”。该漏洞可能会在

Web服务器上运行远程命令(这通常意味着完全破坏服务器及其内容)。可能会在 Web 服

务器上上载、修改或删除 Web 页面、脚本和文件。

这个漏洞危害这么大,我们来看看在此能把这个漏洞应用到什么程度吧。

针对Http put漏洞的产生这里先简单介绍一下,这个漏洞主要是因为WebDav配置不严

导致我们的应用程序可直接对WebServer进行读写。

WebDav请求的格式中提供了一组可供客户端与服务器通讯的方法,并指定响应(从服

务器返回发出请求的客户端)的格式。WebDav完全采用此规范中的所有方法,扩展其中的

一些方法,并引入了其他可提供所描述功能的方法。主要的方法包括

• Options、Head 和 Trace。 主要由应用程序用来发现和跟踪服务器支

持和网络行为。

• Get。 检索文档。

• Put 和 Post。 将文档提交到服务器。

• Delete。 销毁资源或集合。

• Mkcol。 创建集合。

• PropFind 和 PropPatch。 针对资源和集合检索和设置属性。

• Copy 和 Move。 管理命名空间上下文中的集合和资源。

• Lock 和 Unlock。 改写保护。

WebDAV 请求的一般结构遵循 HTTP 的格式并且由以下三个组件构成:

• 方法。 声明由客户端执行的方法(上面描述的方法)。

• 标头。 描述有关如何完成此任务的指令。

• 主体(可选)。 定义用在该指令或其他指令中的数据,用以描述如何完

成此方法。

下面,我们开始提交信息,就是我们telnet到网站的80端口,输入提交信息等,但是

在我们telnet的时候只能输入一行信息就自动退出了,那有没有什么好的办法呢?这里我们

使用网络瑞士军刀NC。打开cmd窗口,输入:nc –vv 80 。然后输入请求的数

据包头信息和测试页信息并提交,这里注意提交信息需要区分大小写和空格,PUT之后 填写

路径名称。

表一 提交的代码

PUT / HTTP/1.0

Content-Length: 28

Accept: */*

Accept-Language: en-US

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;

Win32)

Host:

Hello world ……