top of page

Lab: User ID controlled by request parameter, with unpredictable user IDs

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
28 Nis
1 dakikada okunur

Lab: User ID controlled by request parameter, with unpredictable user IDs

Bu labda, kullanıcı hesap sayfasında yatay yetki yükseltme zafiyeti bulunuyor ancak kullanıcılar GUID değerleriyle tanımlanıyor. Amaç, carlos kullanıcısının GUID değerini bulup onun API key’ini elde etmek. Kendi hesabımıza giriş yapmak için verilen bilgiler: wiener:peter

Giriş yaptıktan sonra hesap sayfasının URL yapısının GUID içerdiğini gördüm:

Lab: User ID controlled by request parameter, with unpredictable user IDs

GUID kullanılması genellikle tahmin etmeyi zorlaştırmak amacıyla yapılır, ancak erişim kontrolü sunucu tarafında doğru uygulanmamışsa bunun bir güvenlik katkısı yoktur. Burada da uygulama, parametredeki GUID’in giriş yapan kullanıcıya ait olup olmadığını kontrol etmiyor.

Lab’ın amacı carlos’un API key’ine ulaşmak olduğu için önce carlos’a ait GUID değerini tespit ettim. Uygulamada carlosun yazılarında adına tıkladığımızda GUID değeri açıkca görünüyor.

Lab: User ID controlled by request parameter, with unpredictable user IDs
Lab: User ID controlled by request parameter, with unpredictable user IDs

Carlos’a ait GUID’i aldıktan sonra istek parametresini şu şekilde güncelledim:

Lab: User ID controlled by request parameter, with unpredictable user IDs

GET /my-account?id=a80a3f91–49ca-48ff-88da-fde7f95a1821

Bu istek sunucu tarafından kabul edildi ve carlos’un hesap sayfası görüntülendi. Bu noktada yatay erişim kontrolü zafiyeti tamamen doğrulanmış oldu. (Bu yapıyı görünce merakıma yenik düşüp admin hesabına ait GUID’yi de aldım😂)

Lab: User ID controlled by request parameter, with unpredictable user IDs

carlosa ait ID adresini attım ve labı bitirdim.

Lab: User ID controlled by request parameter, with unpredictable user IDs

Bu lab, tahmin edilmesi zor GUID değerlerinin tek başına güvenlik sağlamadığını gösteriyor. Eğer uygulama, kullanıcıya ait bir kaynağa erişimde sunucu tarafında doğru doğrulama yapmıyorsa, bir parametre manipülasyonu ile başka bir kullanıcının hesap sayfasına geçmek mümkün oluyor.

Aynı mantık önceki IDOR labıyla birebir aynı şekilde çalıştı; tek fark, kullanıcı adları yerine GUID kullanılmasıydı. Ancak erişim kontrolü doğru uygulanmadığı sürece bu fark pratikte hiçbir şeyi değiştirmiyor.

 
 
bottom of page