hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md
2024-02-10 15:36:32 +00:00

9 KiB

WebDav

Verwenden Sie Trickest, um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden. Erhalten Sie noch heute Zugriff:

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

Lernen Sie das Hacken von AWS von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Bei einem HTTP-Server mit aktiviertem WebDav ist es möglich, Dateien zu manipulieren, wenn Sie über die richtigen Anmeldeinformationen verfügen, die normalerweise über HTTP Basic Authentication überprüft werden. Die Kontrolle über einen solchen Server erfordert oft das Hochladen und Ausführen einer Webshell.

Der Zugriff auf den WebDav-Server erfordert in der Regel gültige Anmeldeinformationen, wobei WebDav-Brute-Force eine häufige Methode ist, um diese zu erhalten.

Um Einschränkungen bei Dateiuploads zu umgehen, insbesondere solche, die die Ausführung serverseitiger Skripte verhindern, können Sie Folgendes tun:

  • Laden Sie Dateien mit ausführbaren Erweiterungen direkt hoch, sofern nicht eingeschränkt.
  • Benennen Sie hochgeladene nicht ausführbare Dateien (wie .txt) in eine ausführbare Erweiterung um.
  • Kopieren Sie hochgeladene nicht ausführbare Dateien und ändern Sie ihre Erweiterung in eine ausführbare Erweiterung.

DavTest

Davtest versucht, mehrere Dateien mit verschiedenen Erweiterungen hochzuladen und überprüft, ob die Erweiterung ausgeführt wird:

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

Output sample:

Dies bedeutet nicht, dass .txt und .html-Erweiterungen ausgeführt werden. Dies bedeutet, dass Sie auf diese Dateien über das Web zugreifen können.

Cadaver

Sie können dieses Tool verwenden, um eine Verbindung zum WebDav-Server herzustellen und Aktionen (wie Hochladen, Verschieben oder Löschen) manuell auszuführen.

cadaver <IP>

PUT-Anfrage

A PUT request is an HTTP method used to update or create a resource on a server. It is commonly used in web development and web services. The PUT method allows the client to send data to the server to update an existing resource or create a new one.

Eine PUT-Anfrage ist eine HTTP-Methode, die verwendet wird, um eine Ressource auf einem Server zu aktualisieren oder zu erstellen. Sie wird häufig in der Webentwicklung und bei Webdiensten eingesetzt. Die PUT-Methode ermöglicht es dem Client, Daten an den Server zu senden, um eine vorhandene Ressource zu aktualisieren oder eine neue zu erstellen.

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

MOVE-Anforderung

The MOVE method is used to move a resource from one location to another on the server. It is commonly used in WebDAV (Web Distributed Authoring and Versioning) to move or rename files and directories.

Die MOVE-Methode wird verwendet, um eine Ressource von einem Ort zum anderen auf dem Server zu verschieben. Sie wird häufig in WebDAV (Web Distributed Authoring and Versioning) verwendet, um Dateien und Verzeichnisse zu verschieben oder umzubenennen.

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

Verwenden Sie Trickest, um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden. Erhalten Sie noch heute Zugriff:

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

IIS5/6 WebDav-Schwachstelle

Diese Schwachstelle ist sehr interessant. Das WebDav erlaubt es nicht, Dateien mit der Erweiterung .asp hochzuladen 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 handeln würde (Sie könnten auch ".html" anstelle von ".txt" verwenden, aber vergessen Sie das ";" nicht).

Dann können Sie Ihre Shell als ".txt-Datei" hochladen und sie in eine ".asp;.txt-Datei" kopieren/verschieben. Wenn Sie auf diese Datei über den Webserver zugreifen, wird sie ausgeführt (cadaver gibt an, dass die Verschiebungsaktion nicht funktioniert hat, aber sie hat funktioniert).

Post-Anmeldeinformationen

Wenn Webdav einen Apache-Server verwendet, sollten Sie die konfigurierten Websites in Apache überprüfen. Normalerweise:
/etc/apache2/sites-enabled/000-default

Darin könnten Sie etwas wie folgt finden:

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

Wie Sie sehen können, gibt es die Dateien mit den gültigen Anmeldedaten für den WebDAV-Server:

/etc/apache2/users.password

In dieser Art von Dateien finden Sie den Benutzernamen und einen Hash des Passworts. Dies sind die Anmeldeinformationen, die der WebDAV-Server zur Authentifizierung von Benutzern verwendet.

Sie können versuchen, sie zu knacken oder weitere hinzuzufügen, wenn Sie aus irgendeinem Grund auf den WebDAV-Server zugreifen möchten:

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:

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q

Referenzen

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:


Verwenden Sie Trickest, um Workflows einfach zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Erhalten Sie noch heute Zugriff:

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