Drupal

Reading time: 3 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)

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 herhangi bir şeyi tutabilir, örneğin bir blog yazısı, anket, makale vb. 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

note

Drupal'ın daha yeni 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üzenleyebilirler.
  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ı belirtir.
  • 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.
  • Şifreyi sıfırla: Bir kullanıcının şifresini sıfırlamaya çalışın, 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 almak için bu seçenekleri kontrol edin:

Drupal RCE

XSS'den RCE'ye

  • Drupalwned: XSS'i RCE veya Diğer Kritik Güvenlik Açıklarına Yükselten Drupal Sömürü 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ısı oluşturur.
  • (RCE) Şablon Yükle: Drupal'a arka kapılı özel şablonlar yükler.

Sömürü 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

Veritabanından 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)

HackTricks'i Destekleyin