CSRF (Cross Site Request Forgery) Zafiyeti Nedir?

CSRF (Siteler Arası İstek Sahtekarlığı) web uygulamasını kullanmakta olan hedef kullanıcı oturumunda izinsiz değişiklik yapılması mantığına dayanır.

Saldırgan hedefe çeşitli sosyal mühendislik teknikleriyle zararlı linki ulaştırır. Bu sırada ilgili web uygulamasında oturumu açık olan kullanıcı, zararlı linke tıklayarak saldırganın hedeflemiş olduğu aksiyonu farkındalığı olmadan gerçekleştirmiş olur.

Bunu https://portswigger.net/ üzerinden bir örnek ile inceleyelim.

Öncelikli olarak kendi oturumumuz üzerinden hedef oturumda gerçekleştirilmesi planlanan işlem için ilgili isteği Burp Suite ile yakalıyoruz.

Senaryomuzda update email işlemini hedef kullanıcı adına gerçekleştirmeyi amaçlıyoruz ve butona tıklayarak isteği yakalıyoruz.

Yakalanan isteği CSRF PoC Generator yardımı ile html kodlarına çeviriyoruz.

Oluşturulan html kodunda dilersek daha önce belirlemiş olduğumuz e-mail adresini değiştirerek kopyalamış olduğumuz kodu html uzantılı bir dosya yardımıyla hedefe iletebiliriz.

Bu sayede hedef kullanıcının sistemde kayıtlı e-mail adresinin değişmesini sağlayabiliriz.

Senaryomuz gereği ilgili html kodunu Deliver exploit to victim seçeneği ile hedefe iletiyor, böylelikle labı tamamlamış oluyoruz.

CSRF zafiyetine karşı alınabilecek önlemler:

  • Sistem tarafında Anti-CSRF Token ve Same Site Cookie kullanımı alınabilecek tedbirler arasındadır.
  • Kullanıcı tarafında ise kaynağı belirsiz e-maillere tıklanmaması, güvenilir olmayan sitelerden uzak durulması ve çerezlerin belirli aralıklarla temizlenmesi önerilebilir.

Yazar: Selin Berber