✅OAuth Zafiyetleri
OAuth Nedir?
OAuth, web sitelerinin ve web uygulamalarının bir kullanıcının başka bir uygulamadaki hesabına sınırlı erişim talep etmesini sağlayan yaygın olarak kullanılan bir yetkilendirme çerçevesidir. En önemlisi, OAuth, kullanıcının oturum açma kimlik bilgilerini talep eden uygulamaya göstermeden bu erişimi vermesine olanak tanır. Bu, kullanıcıların hesaplarının tam kontrolünü üçüncü bir tarafa devretmek zorunda kalmak yerine hangi verileri paylaşmak istediklerine ince ayar yapabilecekleri anlamına gelir.
Temel OAuth süreci, bir kullanıcının hesabındaki belirli verilere erişim gerektiren üçüncü taraf işlevselliğini entegre etmek için yaygın olarak kullanılır. Örneğin bir uygulama, bağlantı kurulacak kişileri önerebilmek amacıyla e-posta kişi listenize erişim talep etmek için OAuth'u kullanabilir. Bununla birlikte, aynı mekanizma, kullanıcıların farklı bir web sitesinde sahip oldukları bir hesapla oturum açmalarına olanak tanıyan üçüncü taraf kimlik doğrulama hizmetleri sağlamak için de kullanılır.
Saldırı Yöntemleri
OAuth Sonrası Saldırı
OAuth doğrulaması sonrasında yapılan isteklerde manipülasyon yapmayı deneyebiliriz.
OAuth Recon
Aşağıdaki yollarda Oauth sunucusunun endpoint adreslerini görebilirsiniz.
OAuth SSRF
Eğer oauth sunucusunda ssrf zafiyetini tetikleyecek bir parametre bulabilirseniz OAuth sunucusunun bilgilerini ele geçirebiliriz.
OAuth Account Takeover
Eğer hesaba oauth ile giriş eklenirken aşağıdakine benzer çekilde csrf token olmadan ekleme yapılıyorsa zafiyet oluşur.
Kurban aşağıdaki linki açtığında bizim oauth hesabımızı kendi hesabına bağlamış olucak ve hesabına kendi oauth bilgilerimiz ile erişebilicez.
Redirect_uri ile Account Takeover
OAuth mekanizması çalırken aşağıdaki şekilde oauth servisinin bir parametre ile gönderildiğini düşünün.
Bu durumda kullanıcının yönlendirileceği yeri değiştirerek kodu kendi sunucumuza gönderebiliriz.
Open Redirect ile Account Takeover
Üstteki örneği düşünün fakat bu sefer redirect_uri whitelist ile korunuyor olsun. Eğer uygulamada bir open redirect zafiyeti bulursak bu ikisini zincirleyebiliriz.
Proxy Sayfası ile Account Takeover
Kaynaklar
Portswigger Academy: https://portswigger.net/web-security/oauth
Last updated