WebDAV (Web Distributed Authoring and Versioning) ajoute des verbes à HTTP, PROPFIND (lister et lire des propriétés), PUT (écrire un fichier), MKCOL (créer une collection), MOVE, COPY, DELETE, LOCK, de sorte qu'un serveur web devient un système de fichiers montable et accessible en écriture. Cette capacité de lecture-écriture est la surface d'attaque. Les manœuvres consistent à découvrir quels verbes sont activés et ce qu'ils exposent, à contourner une authentification souvent faible ou appliquée de manière incohérente, à traverser hors de la collection prévue et, avec le plus d'impact, à utiliser PUT (parfois combiné avec MOVE pour esquiver un filtre d'extension) pour déposer un fichier exécutable par le serveur en vue d'une exécution de code.
# detect WebDAV and its verbs
curl -s -X OPTIONS http://<target>/ -i | grep -iE 'allow|dav' # DAV header + verbs
davtest -url http://<target>/ # tests PUT and which extensions execute
Sous-thèmes#
- Découverte et méthodes : trouver WebDAV et ses verbes activés.
- Contournement d'authentification : atteindre les verbes DAV malgré une authentification faible.
- Traversée de répertoires : s'échapper de la collection prévue.
- Téléversement PUT vers RCE : déposer un fichier exécutable via PUT/MOVE.