Drupal

Reading time: 3 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Виявлення

  • Перевірте meta
bash
curl https://www.drupal.org/ | grep 'content="Drupal'
  • Вузол: Drupal індексує свій контент за допомогою вузлів. Вузол може містити будь-що, наприклад, допис у блозі, опитування, статтю тощо. URI сторінок зазвичай мають форму /node/<nodeid>.
bash
curl drupal-site.com/node/1

Перерахування

Версія

  • Перевірте /CHANGELOG.txt
bash
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""

Drupal 7.57, 2018-02-21

note

Нові установки Drupal за замовчуванням блокують доступ до файлів CHANGELOG.txt та README.txt.

Перерахування імен користувачів

Drupal підтримує три типи користувачів за замовчуванням:

  1. Administrator: Цей користувач має повний контроль над веб-сайтом Drupal.
  2. Authenticated User: Ці користувачі можуть увійти на веб-сайт і виконувати операції, такі як додавання та редагування статей, залежно від їхніх прав.
  3. Anonymous: Усі відвідувачі веб-сайту вважаються анонімними. За замовчуванням цим користувачам дозволено лише читати публікації.

Щоб перерахувати користувачів, ви можете:

  • Отримати кількість користувачів: Просто отримуйте доступ до /user/1, /user/2, /user/3... поки не отримаєте помилку, що вказує на те, що користувача не існує.
  • Реєстрація: Отримайте доступ до /user/register і спробуйте створити ім'я користувача, і якщо ім'я вже зайняте, це буде вказано в помилці з сервера.
  • Скидання пароля: Спробуйте скинути пароль користувача, і якщо користувача не існує, це буде чітко вказано в повідомленні про помилку.

Сховані сторінки

Просто знайдіть нові сторінки, переглядаючи /node/FUZZ, де FUZZ - це число (від 1 до 1000, наприклад).

Інформація про встановлені модулі

bash
#From https://twitter.com/intigriti/status/1439192489093644292/photo/1
#Get info on installed modules
curl https://example.com/config/sync/core.extension.yml
curl https://example.com/core/core.services.yml

# Download content from files exposed in the previous step
curl https://example.com/config/sync/swiftmailer.transport.yml

Автоматизовані інструменти

bash
droopescan scan drupal -u http://drupal-site.local

RCE

Якщо у вас є доступ до веб-консолі Drupal, перевірте ці параметри для отримання RCE:

Drupal RCE

Від XSS до RCE

  • Drupalwned: Скрипт експлуатації Drupal, який підвищує XSS до RCE або інших критичних вразливостей. Для отримання додаткової інформації перегляньте цей пост. Він підтримує версії Drupal 7.X.X, 8.X.X, 9.X.X та 10.X.X, і дозволяє:
  • Підвищення привілеїв: Створює адміністративного користувача в Drupal.
  • (RCE) Завантаження шаблону: Завантажує користувацькі шаблони з бекдором до Drupal.

Постексплуатація

Прочитайте settings.php

bash
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null

Витягти користувачів з БД

bash
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks