API – Broken Access | Root-Me
Merhaba, bu yazımda Root-Me platformunda Web-Server kategorisinde bulunan “API – BROKEN ACCESS” çözümünü yapacağım.
Zafiyet, bir API’nin erişim kontrollerinin yetersiz veya yanlış yapılandırılmasıyla, yetkisiz kullanıcıların hassas verilere veya yetkisiz işlevleri kullanmasını ifade eder.
Zafiyetin Açıklaması
API Broken Access Control, genellikle bir API’nin kullanıcı yetkilerini düzgün şekilde doğrulamaması veya kontrol etmemesi durumunda ortaya çıkar. Örneğin, bir kullanıcı kendi verilerine erişmek için bir API isteği gönderirken, aynı API üzerinden başka bir kullanıcının (örneğin, bir admin kullanıcısının) verilerine erişebiliyorsa, bu bir kırık erişim kontrolü zafiyetidir. Bu tür zafiyetler, OWASP API Security Top 10 listesinde de en kritik güvenlik açıklarından biri olarak yer alır.

İlk olarak soruda bize verilen bağlantıya tıklayalım ve ilgili sayfaya gidelim.

Sayfaya gittiğimizde kullanıcı oluşturma, giriş yapma, kullanıcı bilgisi çekme ve not düzenleme işlevlerini görüyoruz. Sıra ile ilerleyelim ve arka planda Burp Suite ile istekleri yakalayalım.

username:serdar password:serdar olacak şekilde kullanıcı oluşturuyorum.

Daha sonra oluşturduğum kullanıcı ile login işlevini tetikliyorum.

Daha sonra kullanıcı hakkında bilgi edinmek için kullanılan işlevi tetikliyorum. user_id çeşitli denemeler yapsam da kendi userid değerim 2 olarak dönüyor. Burada isteği Burp ile yakalayıp id değerinin 1 olduğunu tahmin ettiğim admin notunu okumayı deneyeceğim.

İsteğe /user/1 değerini girerek id değeri 1 olan kullanıcının bilgilerini çekmeyi denedik ve yanlış yapılandırmadan dolayı admin kullanıcısının bilgilerini çekmeyi başardık.
Başka yazılarda görüşmek üzere.

