Insecure Direct Object Reference (IDOR) Nedir
URL Değiştirerek Veri Ele Geçirme Gerçeği
“Kilitli sandıklar değil, numaralandırılmış çekmeceler en sessiz ihlalleri doğurur.”
— Ersan Karavelioğlu
IDOR Nedir
IDOR (Insecure Direct Object Reference), bir kullanıcının
doğrudan nesne referanslarını (ID, dosya adı, sıra numarası) değiştirerek
yetkisi olmayan verilere erişebilmesi durumudur.

Kimlik vardır, kontrol yoktur.

Yetki sınırı atlanır.
Neden Bu Kadar Tehlikelidir

Saldırı
çok basittir.

Çoğu zaman özel araç gerekmez.

Etkisi ise toplu veri sızıntısına kadar gider.
IDOR Nasıl Ortaya Çıkar

Uygulama, nesneyi
ID ile doğrudan çağırır.

Sunucu tarafında yetki doğrulaması yapılmaz.

Kullanıcı ID’yi değiştirir, sınır aşılır.
Klasik Bir Örnek

/invoice?id=1023

/invoice?id=1024

Eğer kontrol yoksa başka kullanıcının faturası açılır.
IDOR ve Broken Access Control İlişkisi

IDOR,
Broken Access Control’ün en yaygın biçimidir.

Yetki kontrolü eksiktir.

OWASP’ta üst sıralarda yer almasının sebebi budur.
Hangi Nesneler Hedeflenir

Belgeler

Kullanıcı profilleri

Siparişler / faturalar

ID ile erişilen her şey risklidir.
Neden Fark Edilmesi Zordur

İstek “meşru” görünür.

Loglarda anomali yoktur.

Kullanıcı zaten sistemdedir.
Horizontal IDOR Nedir

Aynı yetki seviyesindeki başka kullanıcıların verilerine erişim.

En sık görülen türdür.

“Benim gibi birinin verisi” algısı yanlıştır.
Vertical IDOR Olur mu

Evet.

User → Admin nesnelerine erişim mümkündür.

Etkisi çok daha yıkıcıdır.
API’lerde IDOR Neden Yaygın

Endpoint’ler net ve tahmin edilebilirdir.

Token var ama
nesne yetkisi yoktur.

“Auth var” yanılgısı burada patlar.

Frontend Gizleme Neden Güvenlik Değildir

Butonu saklamak çözüm değildir.

İstek manuel gönderilebilir.

Kontrol
sunucu tarafında yapılır.

IDOR ile Neler Yapılabilir

Toplu veri çekme

Başkasının verisini değiştirme

Kimlik bilgisi sızdırma

Gizlilik tamamen çöker.

WAF IDOR’u Engeller mi

Hayır.

Mantıksal bir açığı filtreleyemez.

Çözüm uygulama mimarisindedir.

IDOR ve Zero Trust Perspektifi

Her istek için
nesne bazlı yetki doğrulaması.

Kullanıcı + nesne + bağlam birlikte değerlendirilir.

Varsayıma yer yoktur.

Güvenli Tasarım Nasıl Olmalı

Doğrudan ID yerine
dolaylı referanslar.

Nesne sahipliği kontrolü.

“Bu nesne bu kullanıcıya ait mi?” sorusu şarttır.

Loglama ve Tespit

Ardışık ID denemeleri alarmdır.

Anormal erişim desenleri izlenmelidir.

Görünürlük savunmadır.

Küçük Uygulamalar Riskli mi

Evet.

Otomatik araçlar IDOR taraması yapar.

Boyut değil,
açık önemlidir.

En Büyük Yanılgı

“ID’yi kim tahmin edecek?”

Art arda sayılar tahmin değildir.

Güvenlik gizlilikle sağlanmaz.

Son Söz
Nesneye Değil, Yetkiye Bak

IDOR, kilitli kapıların arkasındaki
etiketsiz anahtardır.

Nesneye erişim değil,
yetki korunmalıdır.

Güvenli sistem, “erişebilir mi?” sorusunu her seferinde sorar.
“Bir nesneye ulaşılabiliyor olması, ona yetkili olunduğu anlamına gelmez.”
— Ersan Karavelioğlu