İlginizi Çekebilir
  1. Ana Sayfa
  2. ASP.Net
  3. MVC CSRF Saldırısı Nasıl Engellenir? Bölüm-43

MVC CSRF Saldırısı Nasıl Engellenir? Bölüm-43

antiforgery-overview

Bu yazımda sizlerle özelliklerini kullanarak saldırılarını nasıl engelleyeceğimizi öğreneceğiz.

CSRF (Cross Site Request Forgery) Nedir?

Web uygulamalarında Url adresleri aracılığı ile parametre göndererek sisteme yapılan saldırılara verilen isimdir.

Resim-1

Visual Studio geliştirme ortamını açalım, File>New>Project yolunu izleyerek MVC projemizi oluşturmaya başlayalım.

Resim-2

Web şablonlarından ASP.NET Web Application seçeneğini seçelim Next seçeneği ile devam edelim.

Resim-3

Projemize isim verelim .Net Framework seçimini yapalım ve Create seçeneği ile devam edelim.

Resim-4

MVC şablonunu seçelim ve hazır bir MVC projesi oluşturalım. Create seçeneği ile devam edelim.

Resim-5

Controllers klasörüne sağ tıklayalım Add>Controller seçeneği ile Controller ekleme işlemini başlatalım.

Resim-6

Empty Controller seçeneğini seçelim ve Add işlemi ile ekleyelim.

Resim-7

Controller dosyamıza isim verelim ve Add seçeneği ile ekleyelim.

Resim-8

Models klasörüne sağ tıklayalım Add>Class seçeneği ile ekleme işlemlerine başlayalım.

Resim-9

Class dosyamıza bir isim verelim ve Add seçeneği ile ekleyelim.

Resim-10

Class dosyamıza değişkenlerimizi tanımlayalım.

Resim-11

Controller dosyamızda metodumuza sağ tıklayarak Add View seçeneği ile View ekleme işlemini başlatalım.

Resim-12

View dosyamız otomatik olarak ActionResult metodumuz ile aynı ismi alacaktır. Add ile ekleme işlemini gerçekleştirelim.

Resim-13

View dosyamızda Model içinde bulunan Class dosyamızı tanıtarak bir Form oluşturalım. Programımızı çalıştıralım.

Resim-14

Projemizi çalıştırdıktan sonra sayfa üzerinde sağ tıklayalım ve İncele seçeneğini seçelim veya F12 tuşuna basalım.

Resim-15

Açılan sayfada Form üzerinde bulunan sayfayı hangi adrese POST edeceğimiz ve Html elementlerimizin isimleri bulunmaktadır. Bu bilgiler CSRF atakları yapmak için kullanılabilmektedir.

Resim-16

CSRF testi için Fiddler isimli yazılımı sitesinden indirelim. Kurulum işlemlerini gerçekleştirelim ve yazılımı çalıştıralım.

Resim-17

Yazılımı çalıştırdıktan sonra Composer sekmesine Url adresimizi ve parametrelerimizi yazalım ve Execute butonuna tıklayalım.

Resim-18

HTTP protokolünden 200 numaralı yanıtı aldığımızı görmekteyiz. Bunun anlamı göndermiş olduğumuz isteğin iletildiği ve program tarafından başarılı olarak kabul edilmesidir. Programımız dışarıdan gelecek CSRF saldırılarına karşı savunmasız durumdadır.

Resim-19

Controller dosyamızda bulunan metodumuza AntiForgeryToken Attribute ekleyelim.

Resim-20

Formumuza ise Html.AntiForgeryToken Helper nesnemizi ekleyelim. Programı çalıştıralım ve aynı isteği tekrar yapalım.

Resim-21

İsteğimizi yaptığımızda HTTP 500 kodu almaktayız yani artık dışarıdan gelen isteklerde sayfamız çalışmamaktadır. Eklemiş olduğumuz Attribute sayfa içerisinde eklediğimiz Helper aracılığı ile gönderilecek özel kodu doğrulamaktadır. Uygulama içinden gelen istekler kabul edilmektedir. Dışarıdan gelen isteklerde programımız yanıt vermemektedir.

MVC geliştirirken CSFR ataklarını nasıl engelleyeceğimizi görmüş olduk.

Bir sonra ki yazıda görüşmek dileğiyle.

Bu konuyla ilgili sorularınızı http://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: mvc, ,,,csrf,,,,,,

Yorum Yap

Yazar Hakkında

Servan Oral, 1991 yılında Diyarbakır’da doğdu. Üniversite öncesi öğrenimini Malatya’da tamamladı. Dicle Üniversitesi ve Atatürk Üniversitesi Bilgisayar Programcılığı mezunudur. .Net Developer olarak birçok firmada görev almıştır. MSHOWTO bünyesinde yazar olarak görev yapmaktadır. Uzmanlık alanları olan; Bilişim Güvenliği, Microsoft Azure, Microsoft Visual Studio, C# .Net, Asp.Net, Cloud Computing, Microsoft Azure SQL, Microsoft SQL Server, MVC .Net alanlarında yazarlık yapmakta ve etkinliklerde uzmanlık alanlarında konuşmacı olarak görev almaktadır. MCP sertifikası bulunmaktadır.

Yorum Yap