✅Broken Access Control
Last updated
Was this helpful?
Last updated
Was this helpful?
Erişim kontrolü, eylemleri gerçekleştirmek veya kaynaklara erişmek için kimin yetkili olduğuna ilişkin kısıtlamaların uygulanmasıdır.
Bozuk erişim kontrolleri yaygındır ve genellikle kritik bir güvenlik açığı oluşturur. Erişim kontrollerinin tasarımı ve yönetimi, iş, organizasyon ve yasal kısıtlamaları teknik bir uygulamaya uygulayan karmaşık ve dinamik bir sorundur. Erişim kontrolü tasarım kararlarının insanlar tarafından verilmesi gerekir, bu nedenle hata potansiyeli yüksektir.
Bazen admin paneli gibi kritik bölümlerde yetki kontrolü yapılmıyor olabilir. Yetkisiz bir kullanıcı ile bu paneli ziyaret etmeyi deneyebiliriz.
Eğer yetkilendirme bir cookie ile yapılıyorsa cookie'yi manipüle ederek yetkimizi yükseltmeyi deneyebiliriz.
E-mail veya username değiştirme gibi isteklerde yetkimiz bir parametre olarak gönderiliyor olabilir. Bu parametreyi değiştirmeyi deneyebiliriz.
Eğer bir isteğin parametresinde kullanıcı adı veya ID gibi bir değişken gönderiliyorsa bu parametreleri manipüle etmeyi deneyebiliriz.
Eğer kullanıcı ID'si tahmin edilemez bir değer ise yine de bu değer uygulamanın bir bölümünde leak oluyor olabilir. Mesela yorum bölümü veya kullanıcının public profilinde bu değer yazılmış olabilir.
Eğer kullanıcı ID'si gibi bir parametre düzenli artan bir sıra ile gidiyorsa başka kullanıcıların verilerine erişebiliyor olabiliriz.
İlk bakışta rastgele gibi görünen değerler olsa bile bir Hashing veya Encoding ile şifrelenmiş olabilir.
Eğer erişim kontrolü URL tabanlı yapılıyorsa aşağıdaki header ile bu korumayı atlatabiliriz.
Bazı durumlarda POST isteği ile gönderdiğimiz bir istek reddiliyor olsa bile aynı isteği GET ile gönderdiğimizde yetki kontrolü yapılmıyor olabilir. Veya tam tersi.
Yetki yükseltme veya parola değiştirme gibi işlemler eğer çok adımlı şekilde yapılıyorsa sadece ilk adımda yetki kontrolü yapılıyor olabilir. Doğrudan son isteği atarak bu koruma atlatılabilir.
Referer header isteği attığımız URL'yi gösteren bir başlıktır. Eğer yetki kontrolü bu header ile yapılıyorsa manipüle etmeyi deneyebiliriz.
Portswigger Academy: https://portswigger.net/web-security/access-control