# WebDav
\ Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire facilement et **automatiser des flux de travail** alimentés par les outils communautaires les plus avancés au monde.\ Obtenez un accès aujourd'hui : {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
Un serveur **HTTP avec WebDav** actif est un serveur où vous pouvez probablement **mettre à jour, supprimer, déplacer, copier** des fichiers. Parfois, vous avez besoin de **valides identifiants** (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 **valides identifiants** : [**WebDav bruteforce**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) _(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** (ce n'est peut-être 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 différentes extensions** et **vérifie** si l'extension est **exécutée** : ```bash davtest [-auth user:password] -move -sendbd auto -url http:// #Uplaod .txt files and try to move it to other extensions davtest [-auth user:password] -sendbd auto -url http:// #Try to upload every extension ``` Output sample: ![](<../../.gitbook/assets/image (19) (1).png>) 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 ``` ## Requête PUT A PUT request is an HTTP method used to update or create a resource on a server. It is commonly used in WebDAV (Web Distributed Authoring and Versioning) to upload files to a remote server. Une requête PUT est une méthode HTTP utilisée pour mettre à jour ou créer une ressource sur un serveur. Elle est couramment utilisée dans WebDAV (Web Distributed Authoring and Versioning) pour télécharger des fichiers vers un serveur distant. ### How it works ### Fonctionnement To make a PUT request, the client sends an HTTP request to the server with the desired resource URL and includes the data to be uploaded in the request body. The server then processes the request and updates or creates the resource accordingly. Pour effectuer une requête PUT, le client envoie une requête HTTP au serveur avec l'URL de la ressource souhaitée et inclut les données à télécharger dans le corps de la requête. Le serveur traite ensuite la requête et met à jour ou crée la ressource en conséquence. ### WebDAV and PUT ### WebDAV et PUT In WebDAV, the PUT method is used to upload files to a remote server. It allows clients to create or update files on the server by sending a PUT request with the file data in the request body. The server then saves the file at the specified location. Dans WebDAV, la méthode PUT est utilisée pour télécharger des fichiers vers un serveur distant. Elle permet aux clients de créer ou de mettre à jour des fichiers sur le serveur en envoyant une requête PUT avec les données du fichier dans le corps de la requête. Le serveur enregistre ensuite le fichier à l'emplacement spécifié. ### Security Considerations ### Considérations de sécurité When using the PUT method, it is important to consider security implications. Without proper authentication and authorization mechanisms in place, an attacker could potentially upload malicious files or overwrite existing files on the server. Lors de l'utilisation de la méthode PUT, il est important de prendre en compte les implications en matière de sécurité. Sans mécanismes d'authentification et d'autorisation appropriés, un attaquant pourrait potentiellement télécharger des fichiers malveillants ou écraser des fichiers existants sur le serveur. To mitigate these risks, it is recommended to implement strong authentication and access control measures, such as requiring user credentials and validating file uploads to prevent unauthorized access or malicious file uploads. Pour atténuer ces risques, il est recommandé de mettre en place des mesures d'authentification et de contrôle d'accès solides, telles que l'exigence de données d'identification de l'utilisateur et la validation des téléchargements de fichiers pour empêcher l'accès non autorisé ou les téléchargements de fichiers malveillants. ``` curl -T 'shell.txt' 'http://$ip' ``` ## Requête MOVE The MOVE request is used in WebDAV to move a resource from one location to another. It is similar to the HTTP `PUT` request, but instead of creating a new resource, it moves an existing resource to a new location. La requête MOVE est utilisée dans WebDAV pour déplacer une ressource d'un emplacement à un autre. Elle est similaire à la requête HTTP `PUT`, mais au lieu de créer une nouvelle ressource, elle déplace une ressource existante vers un nouvel emplacement. ### Syntax ``` MOVE /source-resource HTTP/1.1 Host: example.com Destination: /destination-resource ``` ### Example ``` MOVE /files/document.txt HTTP/1.1 Host: example.com Destination: /archive/document.txt ``` In this example, the `MOVE` request moves the `document.txt` file from the `/files` directory to the `/archive` directory on the `example.com` server. Dans cet exemple, la requête `MOVE` déplace le fichier `document.txt` du répertoire `/files` vers le répertoire `/archive` sur le serveur `example.com`. ``` curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt' ```
\ Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.\ Obtenez un 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). ![](<../../.gitbook/assets/image (18) (1) (1).png>) ## Poster des identifiants Si Webdav utilisait un serveur Apache, vous devriez regarder les sites configurés dans Apache. Généralement :\ _**/etc/apache2/sites-enabled/000-default**_ À l'intérieur, vous pourriez trouver quelque chose comme : ``` ServerAdmin webmaster@localhost Alias /webdav /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 les 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 davantage** si, pour une raison quelconque, vous souhaitez **accéder** au serveur **WebDAV** : ```bash htpasswd /etc/apache2/users.password #You will be prompted for the password ``` Pour vérifier si les nouvelles informations d'identification fonctionnent, vous pouvez faire : ```bash wget --user --ask-password http://domain/path/to/webdav/ -O - -q ```
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * Travaillez-vous dans une **entreprise de cybersécurité** ? Voulez-vous voir votre **entreprise annoncée dans HackTricks** ? Ou voulez-vous avoir accès à la **dernière version de PEASS ou télécharger HackTricks en PDF** ? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) ! * Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family) * Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com) * **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
\ Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\ Obtenez un accès aujourd'hui : {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}