İnsecure Dor Zafiyeti Nedir?
Bu zaafiyet idor olarak nitelendirilen “insecure direct object reference” zafiyet çeşidi bir nevi request değiştirme metodolojisini uygular yani bir kullanıcının izni olmadan onun yerine veri değiştirme,okuma gibi işlemlerin yapılabildiği tehlikeli bir zafiyet türüdür.
Idor zafiyeti request yani kullanıcının gönderdiği sorgular üzerinde değişiklik yapabilme yetkisine sahip olunan sistemler üzerinde var olan bir açıktır.
Idor Zafiyetinin Nedeni ?
Kullanıcıdan aldığı verinin yeterli yetkilendirme sorgusu yapmadan görüntülenmesine ve değiştirilmesine izin vermesinden kaynaklanır.
Kullanıcıdan aldığı veriyi kontrolsüz ve değiştirme yetkisine sahip bıraktığı için oluşan bir zafiyettir.
İdor zafiyeti bulunması çok zor olan bir zafiyet çeşididir genellikle e ticaret bazlı sitelerde oluşan bir güvenlik açıklığıdır.
İdor Zafiyetinden Korunma Yolları
İlk olarak siteye yapılan data requestlerinin tamamının kontrol edilip doğrulanması gerekir. Nesneler ve kullanıcılar arasındaki yetkilendirme hatasız ve düzgün yapılmalıdır.
Saldırganın işini zorlaştırmak için nesnelere normal sayı yerine karmaşık sayılar atanabilir.
Site üzerinde özel karakter kullanımı engellenebilir.
Şimdi İdor zaafiyetini makinamızda Uygulayalım.
Burp aracımızı kullanarak tarayıcının isteğini yakalıyoruz. Kullanıcı adı bee , secret kısmı yani gizli soru kısmı eyup’dur
şimdi burp üzerinden kullanıcı adını turan olarak değiştirelim. Bu saldırıyı bir uygulamada gerçekleştirmek için en az iki kullanıcı hesabı gerekir.
SQLquery = “SELECT * FROM useraccounts WHERE hesabı = 'turan';

ve bee kullanıcısının gizli sorusunu burp aracı ile turan forward ederek değiştirmeyi başardık.

idor zaafiyetinin başka bir methodu olan Order Ticket bölümüne bakalım
Insecure DOR (Order Tickets)
Burada bir bilet sipariş alanı ve bilet başına 15 Euro kesilmekte. Kaç adet bilet sipariş etmek istediğimizi belirterek onaylıyoruz.

Aşağıda istekte görüldüğü gibi ben 5 adet bilet almak için istek gönderdim ve bilet başı 15 Euro’dan 75 Euro tutması gerekmekte.

İstekte yer alan ticker_price kısmını istediğim sayı yaparak bilet başına kesilecek para miktarını belirleyebilirim. Ben bilet başına 1 Euro kesmesini istiyorum o kısmı 1 olarak değiştiriyoruz.

Bilet başına kesilen miktarı 1 yaptım ve isteği gönderiyorum.

Evet görüldüğü gibi 5 adet bilete 5 Euro kesildi. İsteği değiştirerek fiyatı kendimiz belirledik.
Başka bir yazıda görüşmek dileğiyle..