Drupal
Відкриття
Перевірте мета
Вузол: Drupal індексує свій вміст за допомогою вузлів. Вузол може містити будь-що, таке як блоговий пост, опитування, стаття і т. д. URI сторінок зазвичай мають форму
/node/<ідентифікатор_вузла>
.
Перелік
Drupal за замовчуванням підтримує три типи користувачів:
Адміністратор
: Цей користувач має повний контроль над веб-сайтом Drupal.Автентифікований користувач
: Ці користувачі можуть увійти на веб-сайт та виконувати операції, такі як додавання та редагування статей на підставі їх дозволів.Анонімний
: Усі відвідувачі веб-сайту мають статус анонімних. За замовчуванням цим користувачам дозволено лише читати повідомлення.
Версія
Перевірте
/CHANGELOG.txt
Нові установки Drupal за замовчуванням блокують доступ до файлів CHANGELOG.txt
та README.txt
.
Перелік імен користувачів
Реєстрація
У /user/register просто спробуйте створити ім'я користувача, і якщо ім'я вже зайняте, вас проінформують:
Запит нового пароля
Якщо ви запитуєте новий пароль для існуючого імені користувача:
Якщо ви запитуєте новий пароль для неіснуючого імені користувача:
Отримання кількості користувачів
Звертаючись до /user/<number>, ви можете побачити кількість існуючих користувачів, у цьому випадку це 2, оскільки /users/3 повертає помилку "не знайдено":
Приховані сторінки
Fuzz /node/$
, де $
- це число (від 1 до 500, наприклад).
Ви можете знайти приховані сторінки (тестові, розробницькі), які не вказані пошуковими системами.
Інформація про встановлені модулі
Автоматичний
RCE
З модулем PHP Filter
У старіших версіях Drupal (до версії 8) було можливо увійти як адміністратор та увімкнути модуль PHP filter
, який "Дозволяє виконувати вбудований PHP-код/фрагменти."
Вам потрібно, щоб плагін php був встановлений (перевірте це, звернувшись до /modules/php і якщо повертає 403, то існує, якщо не знайдено, то плагін php не встановлений)
Перейдіть до Modules -> (Перевірте) PHP Filter -> Save configuration
Потім клацніть на Add content -> Виберіть Basic Page або Article -> Напишіть php shellcode у тілі -> Виберіть PHP code у Text format -> Виберіть Preview
Нарешті, просто зверніться до новоствореного вузла:
Встановлення модуля PHP Filter
Починаючи з версії 8 і вище, модуль PHP Filter не встановлюється за замовчуванням. Для використання цієї функціональності нам потрібно встановити модуль самостійно.
Завантажте найновішу версію модуля з веб-сайту Drupal.
wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
Після завантаження перейдіть до
Адміністрування
>Звіти
>Доступні оновлення
.Клацніть на
Огляд
, виберіть файл з каталогу, куди ми його завантажили, а потім клацнітьВстановити
.Після встановлення модуля ми можемо клацнути на
Вміст
та створити нову базову сторінку, схожу на те, що ми робили в прикладі для Drupal 7. Знову переконайтеся, що ви вибралиPHP code
зі спискуФормат тексту
.
Модуль з backdoor
Модуль з backdoor можна створити, додавши оболонку до існуючого модуля. Модулі можна знайти на веб-сайті drupal.org. Давайте виберемо модуль, такий як CAPTCHA. Прокрутіть вниз і скопіюйте посилання на tar.gz архів.
Завантажте архів та розпакуйте його вміст.
Створіть PHP веб-оболонку з таким вмістом:
Далі нам потрібно створити файл
.htaccess
, щоб надати собі доступ до папки. Це необхідно, оскільки Drupal відмовляє у прямому доступі до папки/modules
.
Конфігурація вище застосує правила для папки / при запиті файлу в /modules. Скопіюйте обидва цих файли в папку captcha та створіть архів.
Припускаючи, що у нас є адміністративний доступ до веб-сайту, клацніть на
Керування
, а потім наРозширення
у бічній панелі. Далі клацніть на кнопку+ Встановити новий модуль
, і ми будемо перенаправлені на сторінку встановлення, таку якhttp://drupal-site.local/admin/modules/install
. Перейдіть до архіву з backdoored Captcha та клацнітьВстановити
.Після успішної установки перейдіть до
/modules/captcha/shell.php
, щоб виконати команди.
Післяексплуатаційний етап
Прочитайте settings.php
Витягнути користувачів з БД
Посилання
Last updated