hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md

7.1 KiB
Raw Blame History

WebDav

使用 Trickest 来轻松构建和自动化工作流程,这些工作流程由世界上最先进的社区工具提供支持。 立即获取访问权限:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

从零开始学习 AWS 黑客技术,成为 htARTE (HackTricks AWS Red Team Expert)

其他支持 HackTricks 的方式:

一个HTTP 服务器启用了 WebDav 是一个你可能可以更新、删除、移动、复制文件的服务器。有时需要有效的凭证(通常使用 HTTP 基本认证检查)。

你应该尝试上传一些webshell并从 web 服务器执行它来控制服务器。 通常,要连接 WebDav 服务器,你需要有效的凭证WebDav 暴力破解 (基本认证)

另一个常见的配置是禁止上传将由 web 服务器执行扩展名的文件,你应该检查如何绕过这个限制

  • 上传带有可执行扩展名的文件(可能不被禁止)。
  • 上传没有可执行扩展名的文件(如 .txt然后尝试用可执行扩展名重命名文件(移动)。
  • 上传没有可执行扩展名的文件(如 .txt然后尝试复制文件(移动)带有可执行扩展名

DavTest

Davtest 尝试上传具有不同扩展名的多个文件检查扩展名是否被执行

davtest [-auth user:password] -move -sendbd auto -url http://<IP> #Uplaod .txt files and try to move it to other extensions
davtest [-auth user:password] -sendbd auto -url http://<IP> #Try to upload every extension

输出样本:

这并不意味着 .txt.html 扩展名正在执行。这意味着你可以通过网络访问这些文件

Cadaver

你可以使用这个工具来连接到 WebDav 服务器并手动执行操作(如上传移动删除)。

cadaver <IP>

PUT 请求

curl -T 'shell.txt' 'http://$ip'

MOVE 请求

curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'


使用 Trickest 轻松构建并自动化工作流程,由世界上最先进的社区工具提供支持。
立即获取访问权限:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

IIS5/6 WebDav 漏洞

这个漏洞非常有趣。WebDav 不允许上传或重命名带有扩展名 .asp 的文件。但是你可以通过在文件名末尾添加 ";.txt"绕过这一限制,文件将会像 .asp 文件一样被执行(你也可以使用 ".html" 替代 ".txt",但是不要忘记 ";")。

然后你可以将你的 shell 作为一个 ".txt" 文件上传,并将其复制/移动为 ".asp;.txt" 文件。通过 web 服务器访问该文件时,它将被执行cadaver 会说移动操作没有成功,但实际上它做到了)。

提交凭证

如果 Webdav 使用的是 Apache 服务器,你应该查看 Apache 中配置的站点。通常是:
/etc/apache2/sites-enabled/000-default

在其中你可能会找到像这样的内容:

ServerAdmin webmaster@localhost
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user

如您所见,这里有文件,其中包含用于 webdav 服务器的有效凭据

/etc/apache2/users.password

在这类文件中,您会找到用户名和密码的哈希。这些是webdav服务器用来认证用户的凭据。

您可以尝试破解它们,或者如果您出于某种原因想要访问 webdav 服务器,可以添加更多凭据:

htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password

要检查新凭证是否有效,您可以执行以下操作:

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
从零到英雄学习 AWS 黑客攻击,通过 htARTE (HackTricks AWS Red Team Expert)

支持 HackTricks 的其他方式:


使用 Trickest 轻松构建并 自动化工作流程,由世界上 最先进的 社区工具提供支持。
立即获取访问权限:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}