Lab: Insecure direct object references
Lab: Insecure direct object references

Bu lab’de, kullanıcı sohbet kayıtları sunucunun dosya sistemi üzerinde düz metin dosyaları olarak tutuluyor ve bu dosyalara statik URL’ler üzerinden erişiliyor. Dosya isimleri tahmin edilebilir olduğu için IDOR (Insecure Direct Object Reference) zafiyeti oluşuyor.
Amaç, bu zafiyeti kullanarak carlos kullanıcısına ait parolayı ele geçirmek ve hesabına giriş yapmak.
Keşif (Recon)
İlk olarak uygulamadaki Live chat özelliğini inceledim. Bir mesaj gönderdikten sonra View transcript seçeneğine tıkladım.
Açılan URL’yi kontrol ettiğimde sohbet kayıtlarının şu formatta tutulduğunu fark ettim:

Dosya adının artan bir sayı içerdiği ve tamamen tahmin edilebilir olduğu görülüyordu.
Bu noktada klasik bir IDOR senaryosu olduğunu düşündüm. URL’deki dosya adını değiştirerek daha önce oluşturulmuş transcript dosyalarına erişmeyi denedim.
Dosya adını manuel olarak 1.txt olacak şekilde değiştirdim:

Bu isteği gönderdiğimde, başka bir kullanıcıya ait sohbet kaydının içeriğine erişebildiğimi gördüm.
Erişilen transcript dosyasını incelediğimde, sohbet içeriği içerisinde düz metin olarak yazılmış bir parola bulunduğunu fark ettim.

Bu parolanın carlos kullanıcısına ait olduğunu anladım.Elde ettiğim kullanıcı adı ve parola bilgileriyle ana lab sayfasına geri döndüm ve carlos hesabına başarılı bir şekilde giriş yaptım. Bu işlemle birlikte lab başarıyla tamamlandı.

Bu lab, dosya bazlı kaynaklara erişimde yetkilendirme kontrolü yapılmamasının ne kadar kritik sonuçlar doğurabileceğini net bir şekilde gösteriyor.Statik ve tahmin edilebilir nesne referansları, uygun erişim kontrolü uygulanmadığında doğrudan hesap ele geçirmeye kadar gidebiliyor.







