hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md
2023-06-03 13:10:46 +00:00

11 KiB

WebDav

Utilisez Trickest pour créer et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.
Obtenez l'accès aujourd'hui :

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

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Un serveur HTTP avec WebDav actif est un serveur où vous pouvez probablement mettre à jour, supprimer, déplacer, copier des fichiers. Parfois, vous devez avoir des identifiants valides (généralement vérifiés avec l'authentification de base HTTP).

Vous devriez essayer de télécharger un webshell et de l'exécuter depuis le serveur Web pour prendre le contrôle du serveur.
Généralement, pour se connecter à un serveur WebDav, vous aurez besoin de crédits valides : WebDav bruteforce (Authentification de base).

Une autre configuration courante consiste à interdire le téléchargement de fichiers avec des extensions qui seront exécutées par le serveur Web. Vous devriez vérifier comment contourner cela :

  • Téléchargez des fichiers avec des extensions exécutables (peut-être n'est-ce pas interdit).
  • Téléchargez des fichiers sans extensions exécutables (comme .txt) et essayez de renommer le fichier (déplacer) avec une extension exécutable.
  • Téléchargez des fichiers sans extensions exécutables (comme .txt) et essayez de copier le fichier (déplacer) avec une extension exécutable.

DavTest

Davtest essaie de télécharger plusieurs fichiers avec des extensions différentes et vérifie si l'extension est exécutée :

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

Sortie d'exemple :

Cela ne signifie pas que les extensions .txt et .html sont exécutées. Cela signifie que vous pouvez accéder à ces fichiers via le web.

Cadaver

Vous pouvez utiliser cet outil pour vous connecter au serveur WebDav et effectuer des actions (comme télécharger, déplacer ou supprimer) manuellement.

cadaver <IP>

Requête PUT


Description

Description

The HTTP PUT method is used to update a resource on a server. In the context of web applications, this method is often used to update an existing file on a web server.

La méthode HTTP PUT est utilisée pour mettre à jour une ressource sur un serveur. Dans le contexte des applications web, cette méthode est souvent utilisée pour mettre à jour un fichier existant sur un serveur web.


PUT request with WebDAV

Requête PUT avec WebDAV

WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows clients to perform remote Web content authoring operations. One of the operations that can be performed with WebDAV is file upload via PUT request.

WebDAV (Web Distributed Authoring and Versioning) est une extension du protocole HTTP qui permet aux clients d'effectuer des opérations d'auteur de contenu Web à distance. L'une des opérations qui peuvent être effectuées avec WebDAV est le téléchargement de fichiers via une requête PUT.


PUT request with WebDAV and Workspace

Requête PUT avec WebDAV et Workspace

In Workspace, the PUT method can be used to upload files to the platform. This can be done through the WebDAV interface, which allows users to access their Workspace files as if they were on a local drive.

Dans Workspace, la méthode PUT peut être utilisée pour télécharger des fichiers sur la plateforme. Cela peut être fait via l'interface WebDAV, qui permet aux utilisateurs d'accéder à leurs fichiers Workspace comme s'ils étaient sur un lecteur local.


PUT request with WebDAV and AWS S3

Requête PUT avec WebDAV et AWS S3

In AWS S3, the PUT method can be used to upload files to a bucket. This can be done through the AWS S3 API or through the WebDAV interface.

Dans AWS S3, la méthode PUT peut être utilisée pour télécharger des fichiers dans un compartiment. Cela peut être fait via l'API AWS S3 ou via l'interface WebDAV.


PUT request with WebDAV and GCP Cloud Storage

Requête PUT avec WebDAV et GCP Cloud Storage

In GCP Cloud Storage, the PUT method can be used to upload files to a bucket. This can be done through the GCP Cloud Storage API or through the WebDAV interface.

Dans GCP Cloud Storage, la méthode PUT peut être utilisée pour télécharger des fichiers dans un compartiment. Cela peut être fait via l'API GCP Cloud Storage ou via l'interface WebDAV.

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

Requête MOVE

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

Utilisez Trickest pour créer et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.
Obtenez l'accès aujourd'hui :

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

Vulnérabilité WebDav IIS5/6

Cette vulnérabilité est très intéressante. Le WebDav ne permet pas de télécharger ou de renommer des fichiers avec l'extension .asp. Mais vous pouvez contourner cela en ajoutant à la fin du nom ";.txt" et le fichier sera exécuté comme s'il s'agissait d'un fichier .asp (vous pouvez également utiliser ".html" au lieu de ".txt" mais n'oubliez pas le ";" ).

Ensuite, vous pouvez télécharger votre shell en tant que fichier ".txt" et le copier/déplacer vers un fichier ".asp;.txt". En accédant à ce fichier via le serveur web, il sera exécuté (cadaver indiquera que l'action de déplacement n'a pas fonctionné, mais c'est le cas).

Publier des informations d'identification

Si Webdav utilisait un serveur Apache, vous devriez regarder les sites configurés dans Apache. Couramment :
/etc/apache2/sites-enabled/000-default

À l'intérieur, vous pourriez trouver quelque chose comme :

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

Comme vous pouvez le voir, il y a des fichiers avec les identifiants valides pour le serveur webdav :

/etc/apache2/users.password

À l'intérieur de ce type de fichiers, vous trouverez le nom d'utilisateur et un hash du mot de passe. Ce sont les informations d'identification que le serveur WebDAV utilise pour authentifier les utilisateurs.

Vous pouvez essayer de les craquer, ou en ajouter d'autres si pour une raison quelconque vous souhaitez accéder au serveur WebDAV :

htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password

Pour vérifier si les nouvelles informations d'identification fonctionnent, vous pouvez faire :

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥


Utilisez Trickest pour construire et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde.
Obtenez l'accès aujourd'hui :

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