Merhaba değerli THT üyeleri ben Grey hat kulübünden @aslan aslan bugün sizlerle birlikte IDOR zafiyetinden bahsetmiş olacağım ve bu zafiyet nedir nasıl tespit edilir korunma yoları nelerdir.
IDOR ZAFİYETİ NEDİR?
Günümüz dünyasında web uygulamalarında en fazla görünmekte olan IDOR (Insecure Direct Object Reference) zafiyeti. web uygulamasında yani yetkilendirme (authorization) düzgün yapılanmamasından kaynaklıdır. genel olarak web sitelerinde kullanıcı hesapları numaralandırarak kaydedilir.
örnek vermiş olursak. "https://example.com/account/?userid=123" ve gördüğünüz gibi (Authorization) düzgün yapılandırılmamışsa kötü niyetli hackerler bir kullanıcı kendi kendi bilgilerini değiştirirken "userid" parametresine kendi id'sinden başka bir id tanımlar ve başka kullanıcıların bilgililerini ele geçirmiş olur.
IDOR ZAFİYETİYLE NELER YAPILABİLİNİR.
Kullanıcı Hesaplarını devralabiliriz.
Hesap bilgilerini değiştire biliriz.
Yetkisiz olan hesaplarla yetkili kullanıcı gibi işlemler yapabiliriz (mesela adimin gibi istek gönderebiliriz).
Dosya paylaşımı sitelerine izni olmayan dosyaları okuyabiliriz.
Başka kullanıcılar adına alışveriş yapmak.
IDOR ZAFİYETİ SİTELERDE GENELİKLE NERELERDE BULUNULUR?
web uygulamalarında hesap bölümünde bulunulur.
yazı, resim, ses, video, paylaşabilen her yerde görülmektedir.
sitelerde yorum atabilen yerde görülmektedir.
IDOR ZAFİYETİ NASIL SÖMÜRÜLÜR.
Evet arkadaşlar sizlerle birlikte Portswigger üzerinden lab çözerek IDOR zafiyetini nasıl sömüreceğimizi göreceğiz.evet gördüğünüz üzere karışımıza bir site çıkmakta ve bu sitede bulunan her yeri kontrol etikten sonra "live chat" denilen yere tıklıyoruz ve oradan IDOR zafiyetini tespit etmeye çalışacağız.
evet buradan gelip input olan yere bir şeyler yazıyoruz. ve istediğimiz sonucu alamadık sonra gelip "View transcript" olan yere tıklıyoruz. ve 2txt olan yeri indirmemizi söylüyor ve indiriyoruz.
ondan sonra burp suite programını açıyoruz ve broxy girip kontrol ediyoruz ve görüyoruzki "live cht" indirmiş olduğumuz txt dosyası 2txt olarak geldi normalde 1txt olarak gelmesi lazımdı ve burada IDOR açığı olduğuna dair kanıt hadi gelin nasıl sömüreceğiz.
ve buradan 1txt olan dosyanın içine giriyoruz ve bizi burada kullanıcı carlosun şifresini gösterdi ve bu şifreyi alıp logine gireceğiz.
evet arkadaşlar logine girdikten sonra carlos yazıp ve şifreyi girdikten sonra giriş yapıyoruz.
ve gördüğünüz üzere şifre doğru ve labı başarlı şekilde birdik..
IDOR ZAFİYETİ NASIL ENGELENİR.
öneclikle kullanıcı hesapları userid=123 gibi değilde userid=202cb962ac59075b964b07152d234b70 eğer böyleyse(123 sayısının md5 ile hashlenmiş hali) ise bunlara benzer yapılar kulanılırsa daha sağlıklı olur. son olarak eğer bunun dışında "userid" olarak kulanılmak isteniliyorsa güvenli bir Authorization yapılırsa bu zafiyeten korunmuş oluruz.Konumu buraya kadar okudunuz için teşekür ederim bidaki konuda görüşmek üzere.
Son düzenleme: