mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
86 lines
3.4 KiB
Markdown
86 lines
3.4 KiB
Markdown
# Drupal
|
||
|
||
{{#include ../../../banners/hacktricks-training.md}}
|
||
|
||
|
||
## 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:
|
||
|
||
{{#ref}}
|
||
drupal-rce.md
|
||
{{#endref}}
|
||
|
||
## XSS'den RCE'ye
|
||
|
||
- [**Drupalwned**](https://github.com/nowak0x01/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**](https://nowak0x01.github.io/papers/76bc0832a8f682a7e0ed921627f85d1d.html) 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'
|
||
```
|
||
{{#include ../../../banners/hacktricks-training.md}}
|