CSRF bir web uygulamalarına yönelik ortaya çıkan bir güvenlik açığıdır. Saldırgan başka bir kullanıcının veya kurbanın kimlik doğrulama bilgilerini kullanarak istemediği eylemleri gerçekleştirebilir.
Web sitesi üzerinde mail değişikliği yapabileceğiniz bir kısım mevcut. Bu mail değişikliği yapmanız için siteye giriş yapmanız yeterli oluyor. Mail değişikliği isteğini Burpsuite aracı üzerinden inceleyelim.
Giden isteğimiz bu şekilde. İsteğe bakacak olursak bize tanımlanan cookie ile birlikte email parametresindeki değere geçerli bir mail adresi yazıp gönderdiğimizde mail adresi başarılı bir şekilde değişiyor.
Bunu göz önüne alırsak herhangi bir kullanıcının kendi tarayıcısı üzerinde kayıtlı cookie değeri varsa ve bu isteği o kullanıcıya yani kurban tarafından sunucuya göndertebilirsek mail adresini başarılı bir şekilde değiştirebiliriz.
Sırada bu isteği bir CSRF PoC’ye dönüştürmek var. Bu işlem için BurpSuite Professional’da doğrudan bir eklenti mevcut, ancak buna sahip değilseniz, internette yapacağınız küçük bir araştırmayla online bir araç bulabilirsiniz.
Tüm isteği kopyalayarak bulduğunuz online dönüştürücüye yapıştırın. Sonuç olarak böyle bir çıktı elde edeceksiniz.
Kodda anlaşılacağı gibi bir Submit butonu konularak bu butona basılması halinde hedef web sitesine POST isteği gitmekte. Bunu daha işlevli hale getirmek için siteye girildiği anda POST isteğini gönderecek bir script ekleyebiliriz.
Eklediğimiz bu kod ile kurbanın hazırladığımız siteye girmesi POST formunu göndermemiz için yeterli olacaktır. Bu sayede kurbanın mail adresini kendi mail adresimiz ile değiştirebiliriz.
CSRF Token Kullanımı: Her form veya istek için benzersiz bir token oluşturularak ve doğrulama yapılması bu tür saldırıları önleyebilir.
Doğrulama ve Onay Mekanizmaları: Önemli işlemler için ek doğrulama ve onay adımları eklemek (örneğin, SMS doğrulaması).
Çerez Ayarları: Çerezlerin güvenli ve HttpOnly olarak ayarlanması, sadece belirli domainler tarafından erişilebilir olmalarını sağlar.
CORS (Cross-Origin Resource Sharing) Politikaları: Farklı kaynaklardan gelen isteklerin sınırlandırılması.