Le contrôle d'accès WebDAV est souvent appliqué de manière inégale, et cette incohérence constitue le contournement. Une faille courante est la protection restreinte à certaines méthodes : un serveur configuré pour exiger une authentification sur GET/POST peut laisser PUT, MOVE ou PROPFIND non protégés, de sorte qu'un attaquant atteint une ressource protégée via un verbe non vérifié (falsification de verbe HTTP). Là où l'authentification est imposée, il s'agit fréquemment d'une authentification Basic avec des identifiants faibles ou par défaut qui cèdent au spraying. Passer au-delà expose les verbes d'écriture qui rendent WebDAV dangereux.
# verb tampering: a protected path reachable via an unprotected method
curl -s -X GET http://<target>/protected/ # 401
curl -s -X PROPFIND http://<target>/protected/ -H 'Depth:1' --data '' # 207 => PROPFIND unguarded
curl -s -X PUT http://<target>/protected/x.txt --data 'test' -i # does PUT skip auth?
# weak/default Basic auth
curl -s -u admin:admin -X OPTIONS http://<target>/ -i | grep -i allow
hydra -L users.txt -P pass.txt http-get://<target>/protected/
Notes d'exploitation#
- Testez chaque verbe contre un chemin protégé indépendamment : un 401 sur
GETavec un 207 surPROPFINDou un succès surPUTrévèle une protection restreinte à certaines méthodes, le classique contournement WebDAV par falsification de verbe. - Les mauvaises configurations WebDAV d'IIS et d'Apache ont historiquement permis exactement cette application inégale ; sondez toujours
PUT/MOVE/PROPFINDmême lorsqueGETest verrouillé. - Là où l'authentification est réellement imposée sur tous les verbes, repliez-vous sur les attaques d'identifiants (authentification Basic par défaut/faible) ou sur des identifiants trouvés ailleurs.
- Un contournement réussi qui atteint
PUT/MOVEmène tout droit à Téléversement PUT vers RCE ; un contournement qui n'atteint quePROPFIND/GETpermet tout de même le listage et la traversée.