Asp.Net Web Güvenliği : CSRF Attacks
Web güvenliği serimizin başka bir konusu CSRF (Cross-Site Request Forgery) saldırısı ve savunma yöntemleri. MVC projelerimizde bu saldırıyı çok kolay bir şekilde dekarte edebiliyoruz.Hemen açıklamaya çalışayım.
Öncelikle CSRF nedir kabaca üzerinden geçelim. Saldırgan kişi , sitemiz üzerinden login oldu ve bir session oluşturdu. Saldırgan , aynı zamanda kendi hazırladığı bir site var ve bu site üzerinden bizim sitenin fonksiyonlarını ve servislerini çağırmaya çalışıyor (aynı form ve buton gibi). Session açtığı için güvensiz siteden çağrılan method sanki bizim sitenin üzerinden çağrılmış gibi işlem görecektir. Amacımız bunu engellemektir.
Mvc projelerimizde cshtml sayfalarımızda get ve post yaptığımız form nesnelerinde kullanmalıyız. HtmlHelper.AntiForgeryToken methodu yardımıyla aşağıdaki gibi kolayca form nesnemize ekliyoruz ;
Daha sonra Controller tarafında çağrılan Action üzerinde aşağıdaki gibi bir FilterAttribute ekliyoruz ;
İşte bu kadar . Bu şekilde CSRF saldırılarını önlemiş bulunmaktayız. Eğer Ajax ile kullanmaya çalışırsanız yukarıdaki yapı çalışmayacaktır. Aşağıdaki örneği inceleyiniz. Anti-Csrf Ajax;
Yorumlar
Yorum Gönder
Evet şimdi yorumlar ;