WebDAV (Web Distributed Authoring and Versioning) adds verbs to HTTP, PROPFIND (list and read properties), PUT (write a file), MKCOL (make a collection), MOVE, COPY, DELETE, LOCK, so a web server becomes a mountable, writable filesystem. That read-write capability is the attack surface. The moves are discovering which verbs are enabled and what they expose, bypassing authentication that is often weak or inconsistently applied, traversing outside the intended collection, and, most impactful, using PUT (sometimes combined with MOVE to dodge an extension filter) to plant a server-executable file for code execution.
# 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
Subtopics#
- Discovery and methods: finding WebDAV and its enabled verbs.
- Authentication bypass: reaching DAV verbs past weak auth.
- Directory traversal: escaping the intended collection.
- PUT upload to RCE: planting an executable file via PUT/MOVE.