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

135 lines
8 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# WebDav
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Zugang heute erhalten:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
2022-09-01 23:40:55 +00:00
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2023-12-31 01:24:39 +00:00
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
{% endhint %}
2022-04-28 16:01:33 +00:00
Beim Umgang mit einem **HTTP-Server mit aktiviertem WebDav** ist es möglich, **Dateien zu manipulieren**, wenn Sie die richtigen **Anmeldeinformationen** haben, die normalerweise durch **HTTP Basic Authentication** überprüft werden. Die Kontrolle über einen solchen Server zu erlangen, beinhaltet oft das **Hochladen und Ausführen einer Webshell**.
Der Zugriff auf den WebDav-Server erfordert typischerweise **gültige Anmeldeinformationen**, wobei [**WebDav Bruteforce**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) eine gängige Methode ist, um diese zu erhalten.
Um Einschränkungen beim Hochladen von Dateien zu überwinden, insbesondere solche, die die Ausführung von serverseitigen Skripten verhindern, könnten Sie:
* **Dateien** mit **ausführbaren Erweiterungen** direkt hochladen, wenn dies nicht eingeschränkt ist.
* **Hochgeladene** nicht ausführbare Dateien (wie .txt) in eine ausführbare Erweiterung umbenennen.
* **Hochgeladene** nicht ausführbare Dateien kopieren und ihre Erweiterung in eine ausführbare ändern.
2022-05-01 13:25:53 +00:00
## DavTest
**Davtest** versucht, **mehrere Dateien mit unterschiedlichen Erweiterungen hochzuladen** und **überprüft**, ob die Erweiterung **ausgeführt** wird:
```bash
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
```
![](<../../.gitbook/assets/image (851).png>)
Das bedeutet nicht, dass **.txt** und **.html Erweiterungen ausgeführt werden**. Das bedeutet, dass Sie **auf diese Dateien zugreifen** können über das Web.
2022-05-01 13:25:53 +00:00
## Cadaver
Sie können dieses Tool verwenden, um sich mit dem **WebDav**-Server zu **verbinden** und Aktionen (wie **hochladen**, **verschieben** oder **löschen**) **manuell** durchzuführen.
```
cadaver <IP>
```
2024-02-10 15:36:32 +00:00
## PUT-Anfrage
```
curl -T 'shell.txt' 'http://$ip'
```
## MOVE-Anfrage
```
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav), um einfach **Workflows** zu erstellen und zu **automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Zugang heute erhalten:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
2022-09-01 23:40:55 +00:00
## IIS5/6 WebDav-Sicherheitsanfälligkeit
Diese Sicherheitsanfälligkeit ist sehr interessant. **WebDav** erlaubt **nicht**, Dateien mit der Erweiterung **.asp** zu **hochladen** oder **umzubenennen**. Aber Sie können dies **umgehen**, indem Sie am Ende des Namens **";.txt"** hinzufügen, und die Datei wird **ausgeführt**, als ob es sich um eine .asp-Datei handelt (Sie könnten auch **".html" anstelle von ".txt" verwenden**, aber **VERGESSEN SIE NICHT das ";"**).
Dann können Sie Ihre Shell als ".**txt" Datei** **hochladen** und sie in eine ".asp;.txt" Datei **kopieren/bewegen**. Wenn Sie auf diese Datei über den Webserver zugreifen, wird sie **ausgeführt** (Cadaver wird sagen, dass die Verschiebeaktion nicht funktioniert hat, aber das hat sie).
![](<../../.gitbook/assets/image (1092).png>)
## Post-Anmeldeinformationen
Wenn Webdav einen Apache-Server verwendet hat, sollten Sie sich die konfigurierten Sites in Apache ansehen. Üblicherweise:\
_**/etc/apache2/sites-enabled/000-default**_
Darin könnten Sie etwas finden wie:
```
ServerAdmin webmaster@localhost
2024-02-10 15:36:32 +00:00
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
```
Wie Sie sehen können, gibt es die Dateien mit den gültigen **credentials** für den **webdav**-Server:
```
/etc/apache2/users.password
```
Innerhalb dieser Art von Dateien finden Sie den **Benutzernamen** und einen **Hash** des Passworts. Dies sind die Anmeldeinformationen, die der WebDAV-Server verwendet, um Benutzer zu authentifizieren.
Sie können versuchen, sie zu **knacken**, oder **mehr hinzuzufügen**, wenn Sie aus irgendeinem Grund auf den **WebDAV**-Server **zugreifen** möchten:
```bash
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
```
Um zu überprüfen, ob die neuen Anmeldeinformationen funktionieren, können Sie Folgendes tun:
```bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
```
## References
2024-02-08 21:36:15 +00:00
* [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lernen & üben Sie GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2024-02-08 21:36:15 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary>Unterstützen Sie HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
</details>
{% endhint %}
2022-09-01 23:40:55 +00:00
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
Verwenden Sie [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav), um einfach **Workflows** zu erstellen und **zu automatisieren**, die von den **fortschrittlichsten** Community-Tools der Welt unterstützt werden.\
Erhalten Sie heute Zugang:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}