Neler yeni
Bughane Academy

Bughane Academy, bug bounty, web güvenliği ve sızma testi alanında kendini geliştirmek isteyenler için kurulmuş Türkçe odaklı bir topluluktur.

Burada; gerçek güvenlik açıkları, recon ve exploit teknikleri, payload & bypass yöntemleri, araçlar, scriptler ve write-up’lar topluluk tarafından paylaşılır ve tartışılır.

Birlikte öğren, birlikte üret, birlikte güçlen.

IDOR - Insecure Direct Object Reference

  • Konuyu Başlatan Konuyu Başlatan 1atakan1
  • Başlangıç tarihi Başlangıç tarihi

1atakan1

Moderator
Aday
Katılım
2 Ocak 2026
Mesajlar
19
Tepkime puanı
22
Puan
3

IDOR - Insecure Direct Object Reference​

IDOR test metodolojisi ve yetki kontrolü atlatma senaryoları.

Metodoloji​

Erişim yetkisi olmaması gereken bir nesneye veya veriye doğrudan referans vererek (genellikle ID değiştirerek) erişilebilmesidir.
İstek türü (GET, POST, DELETE vb.) değiştirilerek de test edilebilir.

GET /api/getUserInfo?id=245 → Sizin veriniz.
GET /api/getUserInfo?id=246 → ID'si 246 olan başka bir kullanıcının verisi.
https://onlinestore.thm/order/1234/invoice → Sizin faturanız.
https://onlinestore.thm/order/1000/invoice → 1000 numaralı başka bir fatura.

Örnekler​

Base64 ile encode edilmiş ID: ?user_id=1305 → ?user_id=MTMwNQ==
MD5 ile Hash'lenmiş ID: ID: 123 → MD5(ID): 202cb962ac59075b964b07152d234b70


Tahmin Edilemez ID'ler​

Bazen ID'ler sıralı sayılar yerine karmaşık (UUID vb.) olabilir. Bu ID'leri tahmin etmek veya kırmak neredeyse imkansızdır.
Çözüm: İki farklı hesap oluşturun (Hesap A ve Hesap B).
Hesap A → user_id = abc-123-xyz
Hesap B → user_id = def-456-uvw

Hesap A ile giriş yapın ve profilinize gidin: /profile?id=abc-123-xyz.
Şimdi URL'deki ID'yi Hesap B'nin ID'si ile değiştirin: /profile?id=def-456-uvw. Eğer Hesap B'nin bilgilerini görebiliyorsanız, IDOR zafiyeti mevcuttur.


Nerede Aranır?​

1- Adres Çubuğunda (URL): /profile?user_id=123
2- AJAX/API İstekleri: Burp Suite gibi araçlarla arka planda çalışan GET /api/v1/user/details gibi istekleri izleyin.
3- JavaScript Dosyaları: Kaynak kodda fetch("/user/details?user_id=" + uid) gibi dinamik istekler arayın.
4- Gizli Parametreler (Parameter Mining): /user/details (kendi bilginizi gösterir) isteğine ?user_id=123 ekleyerek başka bir kullanıcının bilgisini göstermeyi deneyin.
 
Geri
Üst