Drupal

Reading time: 4 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Keşif

  • meta kontrol et
bash
curl https://www.drupal.org/ | grep 'content="Drupal'
  • Node: Drupal içeriğini düğümler kullanarak indeksler. Bir düğüm, bir blog yazısı, anket, makale vb. gibi herhangi bir şeyi tutabilir. Sayfa URI'leri genellikle /node/<nodeid> biçimindedir.
bash
curl drupal-site.com/node/1

Enumeration

Version

  • /CHANGELOG.txt dosyasını kontrol edin
bash
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""

Drupal 7.57, 2018-02-21

tip

Yeni Drupal kurulumları varsayılan olarak CHANGELOG.txt ve README.txt dosyalarına erişimi engeller.

Kullanıcı numaralandırma

Drupal varsayılan olarak üç tür kullanıcı destekler:

  1. Yönetici: Bu kullanıcı, Drupal web sitesinin tam kontrolüne sahiptir.
  2. Kimlik Doğrulanmış Kullanıcı: Bu kullanıcılar web sitesine giriş yapabilir ve izinlerine bağlı olarak makaleleri ekleyip düzenleyebilir.
  3. Anonim: Tüm web sitesi ziyaretçileri anonim olarak tanımlanır. Varsayılan olarak, bu kullanıcıların yalnızca gönderileri okumasına izin verilir.

Kullanıcıları numaralandırmak için:

  • Kullanıcı sayısını al: Sadece /user/1, /user/2, /user/3... erişin, hata döndüğünde kullanıcının mevcut olmadığını gösterir.
  • Kayıt: /user/register erişin ve bir kullanıcı adı oluşturmaya çalışın, eğer isim zaten alınmışsa sunucudan bir hata ile belirtilecektir.
  • Şifre sıfırlama: Bir kullanıcının şifresini sıfırlamaya çalışın ve eğer kullanıcı mevcut değilse bu açıkça bir hata mesajında belirtilecektir.

Gizli sayfalar

Yeni sayfaları bulmak için /node/FUZZ adresine bakın, burada FUZZ bir sayıdır (örneğin 1'den 1000'e kadar).

Yüklenmiş modüller bilgisi

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

Otomatik Araçlar

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

RCE

Drupal web konsoluna erişiminiz varsa, RCE elde etmek için bu seçenekleri kontrol edin:

Drupal RCE

XSS'den RCE'ye

  • Drupalwned: XSS'yi RCE veya Diğer Kritik Güvenlik Açıklarına yükselten Drupal İstismar Scripti. Daha fazla bilgi için bu gönderiye bakın. Drupal Sürümleri 7.X.X, 8.X.X, 9.X.X ve 10.X.X için destek sağlar ve şunları yapmanıza olanak tanır:
  • Yetki Yükseltme: Drupal'da bir yönetici kullanıcı oluşturur.
  • (RCE) Şablon Yükle: Drupal'a arka kapılı özel şablonlar yükler.

İstismar Sonrası

settings.php'yi Oku

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

DB'den kullanıcıları dökme

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

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin