• 28-09-2026, 09:02:33
    #1
    IDOR Açığı Nedir?

    IDOR (Insecure Direct Object Reference), bir uygulamanın kullanıcıdan gelen nesne kimliklerine yeterli yetki kontrolü uygulamaması sonucu ortaya çıkan bir erişim kontrolü açığıdır.

    Örneğin bir kullanıcı kendi profilini görüntülerken URL içerisinde;

    user_id=125
    gibi bir değer bulunuyorsa ve bu değer 126 olarak değiştirildiğinde başka bir kullanıcının bilgilerine erişilebiliyorsa sistemde IDOR açığı bulunabilir.

    Buradaki asıl problem ID değerinin tahmin edilebilir olması değildir. Asıl problem, sunucunun isteği yapan kullanıcının ilgili kaynağa erişme yetkisi olup olmadığını kontrol etmemesidir.

    ID değerlerini gizlemek veya karmaşık hale getirmek tek başına çözüm değildir.

    IDOR açıklarını önlemek için her istekte sunucu tarafında yetki kontrolü yapılmalı ve kullanıcı yalnızca erişim hakkı bulunan kaynaklar üzerinde işlem yapabilmelidir.
  • 28-09-2026, 09:48:04
    #2
    Güzel konu olmuş. Özellikle yapay zeka ile yapılan uygulamalarda bu açığı çok görüyorum. Çok basit ancak çok ihmal edilen bir açık. RBAC (Role-Based Access Control) yaparak önlem alınabilir.
  • 28-09-2026, 10:22:36
    #3
    ASametYildirim adlı üyeden alıntı: mesajı görüntüle
    Güzel konu olmuş. Özellikle yapay zeka ile yapılan uygulamalarda bu açığı çok görüyorum. Çok basit ancak çok ihmal edilen bir açık. RBAC (Role-Based Access Control) yaparak önlem alınabilir.
    Hocam RBAC güzel bir önlem ancak IDOR biraz geniş bi zaafiyet o sebeple tek başına yeterli olmaz. Veri bazlı doğrulama daha koruyucu olur ayrıca özellikle id'li değerlerin encode edilmesi vs de hackeri bu açığı aramaktan uzak tutabilir. 4-5 sene önce bir Pentestde bu günün en iyi hosting şirketlerinden birinde bir çok alanda auth vardı mesela ama faturada adres kısmında tam koruma sağlayamamışlardı tüm kullanıcıların adresleri çekilebiliyordu. Kişisel deneyimim bu şekilde o sebeple her endpointe özel veri bazlı auth yapılması daha sağlıklı olur diye düşünüyorum.
  • 28-09-2026, 10:32:04
    #4
    erknabd adlı üyeden alıntı: mesajı görüntüle
    Hocam RBAC güzel bir önlem ancak IDOR biraz geniş bi zaafiyet o sebeple tek başına yeterli olmaz. Veri bazlı doğrulama daha koruyucu olur ayrıca özellikle id'li değerlerin encode edilmesi vs de hackeri bu açığı aramaktan uzak tutabilir. 4-5 sene önce bir Pentestde bu günün en iyi hosting şirketlerinden birinde bir çok alanda auth vardı mesela ama faturada adres kısmında tam koruma sağlayamamışlardı tüm kullanıcıların adresleri çekilebiliyordu. Kişisel deneyimim bu şekilde o sebeple her endpointe özel veri bazlı auth yapılması daha sağlıklı olur diye düşünüyorum.
    Evet hocam, hatta user_id değerleri apide kullanmayıp csrf benzeri token ile isteğin hangi kullanıcıdan geldiğini sunucu tarafında ayrıştırmak ve o kullanıcının o isteği yapabilip yapamayacağını kontrol etmekte bir yöntem.
  • 28-09-2026, 10:36:48
    #5
    Güzel konu hocam, eline sağlık. Yukarıda da denmiş, yapay zekayla yazılan projelerde bunu çok sık görüyorum. Kendi projesini kontrol etmek isteyenler için pratik birkaç not ekleyeyim:
    - En kolay test: iki ayrı hesap aç. A hesabıyla bir kayıt oluştur, adresteki ya da istekteki id'yi kopyala, B hesabıyla aynı isteği at. Görebiliyor ya da değiştirebiliyorsan açık var. Tarayıcının Network sekmesi bile yetiyor.
    - Sadece GET'e bakmayın. Asıl tehlikeli olanlar PUT/DELETE ve dosya indirme uçları (fatura, sipariş PDF'i gibi), unutulan hep bunlar oluyor.
    - id'yi UUID yapmak tek başına çözüm değil, sadece tahmin etmeyi zorlaştırıyor. Asıl çözüm her sorguda "bu kayıt bu kullanıcıya mı ait" kontrolünü sunucuda yapmak. Örneğin WHERE id = ? AND user_id = ?, kontrol etmeden getirip sonra bakmak değil.
    - Frontend'de butonu gizlemek koruma değil, istek elle atılabiliyor.