- Katılım
- 2 Ocak 2026
- Mesajlar
- 19
- Tepkime puanı
- 22
- Puan
- 3
Privilege Escalation (Yetki Yükseltme)
Bir kullanıcının sahip olduğundan daha yüksek izinlere (yatay veya dikey) sahip olması veya kritik bir işlemi gerçekleştirmesi.Özet Bilgi ve Dikey/Yatay Farkı
Yatay Yükseltme: Aynı seviye roller arası geçiş (IDOR). Kendi profilinizden başka bir kullanıcının profiline erişim.Dikey Yükseltme: Düşük rolden yüksek role geçiş (Admin Panel erişimi, rol değiştirme).
Bu zafiyetin ana nedeni: Sunucunun yetki kontrolünü istemciye bırakması veya hatalı uygulaması.
Hızlı Tespit ve Nerede Aranır?
1. İki Hesap Tekniği: Bir Düşük Yetkili (User) ve bir Yüksek Yetkili (Admin) hesabı oluşturun. Admin'in yaptığı işlemi User'ın token'ı ile tekrarlamayı deneyin.2. Endpoint Tahmini: Normal kullanıcı olarak login olduktan sonra /admin/users, /api/v1/update-role, /config gibi URL'leri ziyaret etmeyi deneyin.
3. Kaynak Kodu: JavaScript dosyalarında if (user.role === 'admin') gibi yetki kontrolü yapan client-side kodları arayın (Bu sadece bir ipucudur, asıl kontrol server'da olmalıdır).
Bypass Teknikleri (JSON / Parameter Manipülasyonu)
Mass Assignment: Kullanıcının gönderdiği JSON/Form verisine "role": "admin" veya "is_admin": true gibi normalde gönderilmemesi gereken bir parametre eklemeyi deneyin.Metod/Header Değiştirme: User hesabıyla GET /api/delete-user isteği 403 veriyorsa, isteği POST veya DELETE olarak değiştirip tekrar deneyin.
Yüksek Yetki Fonksiyonu: Normal bir kullanıcı fonksiyonunu (örneğin /api/profile-update) Admin'in User ID'sini hedef alarak kullanmayı deneyin.
PoC Örnekleri (Rol Değiştirme)
// User A olarak yakalanan istek:POST /api/users/update
{
"id": "USER_ID",
"username": "new_name"
}
Yetki Yükseltme PoC: JSON'a "id": "ADMIN_ID", "role": "admin" eklemeyi deneyin (Mass Assignment).
POST /api/users/update
{
"id": "USER_ID",
"username": "new_name",
"role": "admin" // KRİTİK EKLEME
}