12 KiB
WebDav
使用Trickest可以轻松构建和自动化由全球最先进的社区工具提供支持的工作流程。
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想要获取PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组或电报群组,或者关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
一个启用了WebDav的HTTP服务器可能允许你更新、删除、移动、复制文件。有时候你需要有有效的凭证(通常使用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请求
The PUT method is used to update or create a resource on a server. It is commonly used in web development to upload files or modify existing resources. When sending a PUT request, the client specifies the URI of the resource to be updated or created, and includes the new data in the request body.
PUT请求用于在服务器上更新或创建资源。它通常用于Web开发中上传文件或修改现有资源。在发送PUT请求时,客户端指定要更新或创建的资源的URI,并在请求体中包含新数据。
WebDAV and PUT
WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows for more advanced file management on web servers. It includes support for the PUT method, among other features.
WebDAV(Web分布式作者和版本控制)是HTTP协议的扩展,允许在Web服务器上进行更高级的文件管理。它包括对PUT方法的支持,以及其他功能。
PUT Method and Web Application Security
From a security perspective, the PUT method can introduce vulnerabilities if not properly implemented. For example, if the server does not validate the user's permissions before updating or creating a resource, an attacker could potentially modify sensitive data or upload malicious files.
从安全角度来看,如果没有正确实现PUT方法,它可能会引入漏洞。例如,如果服务器在更新或创建资源之前不验证用户的权限,攻击者可能会修改敏感数据或上传恶意文件。
Exploiting PUT Method Vulnerabilities
To exploit vulnerabilities related to the PUT method, an attacker can send a crafted PUT request with malicious data or files. This can lead to various types of attacks, such as remote code execution, file inclusion, or information disclosure.
为了利用与PUT方法相关的漏洞,攻击者可以发送一个精心构造的PUT请求,其中包含恶意数据或文件。这可能导致各种类型的攻击,例如远程代码执行、文件包含或信息泄露。
Protecting Against PUT Method Vulnerabilities
To protect against vulnerabilities related to the PUT method, it is important to implement proper security measures. This includes validating user permissions, sanitizing user input, and implementing access controls to prevent unauthorized access or modification of resources.
为了防止与PUT方法相关的漏洞,重要的是要实施适当的安全措施。这包括验证用户权限、对用户输入进行清理,并实施访问控制以防止未经授权的访问或修改资源。
curl -T 'shell.txt' 'http://$ip'
MOVE 请求
The MOVE request is used in WebDAV to move a resource from one location to another. It is similar to the HTTP PUT
method, but instead of creating a new resource, it moves an existing resource to a new location.
MOVE 请求在 WebDAV 中用于将资源从一个位置移动到另一个位置。它类似于 HTTP 的 PUT
方法,但不是创建新的资源,而是将现有资源移动到新的位置。
Syntax
MOVE /path/to/source HTTP/1.1
Host: example.com
Destination: /path/to/destination
Example
MOVE /file.txt HTTP/1.1
Host: example.com
Destination: /new/location/file.txt
In this example, the file file.txt
located at /path/to/source
on the server example.com
is moved to /path/to/destination
on the same server.
在这个例子中,位于服务器 example.com
上的 /path/to/source
的文件 file.txt
被移动到同一服务器上的 /path/to/destination
。
Response
The server should respond with a 200 OK
status code if the move operation is successful. If the destination already exists, the server may choose to overwrite it or return a 412 Precondition Failed
status code.
如果移动操作成功,服务器应该以 200 OK
状态码进行响应。如果目标位置已经存在,服务器可以选择覆盖它或返回 412 Precondition Failed
状态码。
Security Implications
The MOVE request can be used by an attacker to move sensitive files to a location accessible to them, potentially exposing sensitive information or compromising the system's integrity.
攻击者可以使用 MOVE 请求将敏感文件移动到他们可以访问的位置,从而可能暴露敏感信息或破坏系统的完整性。
It is important to properly configure access controls and permissions to prevent unauthorized access and abuse of the MOVE request.
重要的是要正确配置访问控制和权限,以防止未经授权的访问和滥用 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
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载HackTricks的PDF吗?请查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获取官方PEASS和HackTricks周边产品
- 加入💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
- 通过向hacktricks repo 和hacktricks-cloud repo 提交PR来分享你的黑客技巧。
使用Trickest可以轻松构建和自动化工作流程,使用世界上最先进的社区工具。
立即获取访问权限:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}