İçindekiler
Bizim de yatkın olduğumuz ve çoğu zaman gözden kaçırdığımız bir saldırı türü var, işte bu Siteler Arası İstek Sahteciliği veya CSRF, bu, uygulamamızın barındırıldığı etki alanından gelmeyen verileri alması için kandırmaktan sorumludur.Bu tür bir saldırı, aldatılmış bir kullanıcının kimlik doğrulamasını kullanarak veri tabanımıza veri girmesine neden olduğu için oldukça zararlıdır, bu tür bir saldırı ile bir yönetici kullanıcının veya belki de yanlış haberlerin haber bölümümüze girdiğini hayal edin. .
Açıkladığımız gibi, bu saldırı, uygulamamızı kendisinden gelmeyen verileri alması için kandırır, bunun için şu şekilde yararlanır: protokoller çalışır HTTP ve farklı yöntemleri gibi, böylece bir saldırgan bir form oluşturun ve denetleyicimize gelin.
Bu saldırıyı örneklemek için, bu tür saldırılara karşı savunmasız olan aşağıdaki denetleyiciye bakalım:
Burada verileri doğrudan formumuzdan nasıl elde ettiğimizi görebiliriz ve bu kötü değil, tek sorun uygulamamıza kökenini doğrulaması gerektiğini söylemememizdir, bununla bir saldırgan aşağıdaki gibi bir komut dosyası oluşturabilir:
BÜYÜT
Burada ne olduğu açıktır, bu sayfa yüklenirken, veritabanındaki belirli bir kaydı işaret eden form gönderilir, bu form geçerli bir denetleyiciye işaret eder, bu nedenle kimliği doğrulanmış bir kullanıcı bu sayfaya yönlendirilirse muhtemelen bir biraz bağ.Ne kadar kaderci olsa da, bu saldırı önlenebilir, bunun için sadece alınan verilerin uygulamamızdan geldiğini garanti eden bazı doğrulamalar yapmamız gerekiyor, bunun için şu tekniklerden bazılarını kullanabiliriz:
Etki alanı referansıBu, isteğin hangi etki alanından geldiğini doğrulamaktan ibarettir, bununla sadece uygulamamızın barındırıldığı etki alanından olduğunu garanti ediyoruz, tek sorun veya dezavantaj, etki alanı uygulamamızı taşımamız durumunda doğrulamayı yeniden oluşturmamız gerekebileceğidir. dinamik hale getirmedik. gibi uygulama zafiyetlerinden faydalanarak yanlış referans yapmak da mümkündür. Adobe Flash programı.
Oluşturulan SimgeBu seçenekle yaptığımız şey, formumuz içinde bir jeton kullanıcı başına benzersizdir, bu nedenle formları alırken uygulamamız jetonun aynı olduğunu doğrular, bu şekilde verilerin kabul edilip edilmemesine izin verir. Bu, uygulanması çok kolay olduğu ve çok az dezavantajı olduğu veya hiç dezavantajı olmadığı için en yaygın kullanılan seçenektir.
Oluşturulan belirteç durumunda ASP.NET MVC'si bize yardımcı olabilecek bazı yöntemler içerir, bunlardan başlıcası @ Html.AntiForgeryToken () bu, uygulamamızın formları doğrulayabileceği gizli anahtarı oluşturur.
O zaman düşündüğümüzden daha fazla alan olduğunu ve uygulamalarımızda ilgilenmemiz gerektiğini görüyoruz, bu yüzden kendimizi bilgilendirmeli ve onlardan kaçınmanın yollarını bulmak için saldırıların nasıl gerçekleştiğinin farkında olmalıyız.