Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 45075|Yanıt: 7

[ASP.NET] ASP.NET CSRF saldırısı Ajax kapsülleme talep ediyor

[Bağlantıyı kopyala]
2019-9-12 09:42:54 tarihinde yayınlandı | | | |
CSRF nedir?

CSRF (Çapraz site isteği sahtekarlığı), aynı zamanda tek tıklama saldırısı/oturum sürüşü olarak da bilinir, Çince kısaltması: CSRF/XSRF. CSRF (Çapraz Site İstek Sahtekarlığı), 2007 yılında internette en büyük 20 güvenlik riski arasında listelenen bir ağ saldırı yöntemidir. SQL script enjeksiyonu ve alanlararası alan betik saldırıları gibi diğer güvenlik riskleri son yıllarda iyi biliniyor hale geldi ve birçok web sitesi bunlara karşı savunma yaptı. Ancak CSRF çoğu insan için hâlâ yabancı bir kavramdır. En ünlü Gmail bile 2007 sonlarında bir CSRF açığa sahipti; bu güvenlik sistemi hacklendi ve Gmail kullanıcılarına büyük kayıplara yol açtı.

CSRF ne yapabilir?

CSRF saldırılarını şöyle anlayabilirsiniz: bir saldırgan kimliğinizi çalmış ve adınıza kötü niyetli talepler göndermiştir. CSRF, e-posta göndermek, mesaj göndermek, hesabınızı çalmak veya hatta sizin adınıza ürün satın almak ve sanal para transferi yapmak gibi şeyler yapabilir...... Ortaya çıkan sorunlar arasında: kişisel gizlilik sızıntısı ve mülk güvenliği yer alıyor.

ASP.NET MVC AntiForgeryToken sahte karşıtı markası

ASP.NET MVC'de, form tokenları ve çerez tokenları varsayılan olarak @Html.AntiForgeryToken() kullanıldığında otomatik olarak oluşturulur. Ancak, arka planda manuel erişim sağlamak istiyorsak, System.Web.Helpers.AntiForgery sınıfını kullanmamız gerekir ve kaynak kodu izlemek isteyen arkadaşlar, aslında @Html.AntiForgeryToken() dahili çağrı yönteminin AntiForgery sınıfıyla aynı olduğunu görecektir.

Esas olarak karşılık gelen form ve çerez token'ı iki statik yöntemle elde etmek için kullanılır: AntiForgery.GetHtml() veya AntiForgery.GetTokens(oldCookieToken, out string newCookieToken, out string formToken). Ancak, GetHtml yöntemi çağrıldıktan sonra, ilgili cookie token'ın otomatik olarak oluşturulacağı ve ardından form token değeri gizli alanına sahip bir HTML kodu parçası doğrudan geri döneceği ve geri dönen değer şu şekilde olacak:

<input name="__RequestVerificationToken" type="hidden" value="8_nUk_3z0svQr9qcvRBi9SWMZ2-SYmuy9kRe9OgRobGULkb2Z4JZxRZFhR0ndeoy9hmDLDru7MFk-W4xrnL5z5T6VbkfXK7fyRk-egQBGm41">

Gizli alanın isim adı genellikle "__RequestVerificationToken" olarak sabitlenir ve değer şifreli bir güvenlik tokenıdır. Bu gizli alan genellikle gönderilecek forma yerleştirilir ve son gönderim kurabiye tokenı ile doğrulanır.

GetTokens yöntemini kullanırsanız, ilgili parametreleri girdikten sonra şifreli form ve çerez token'ı elde edebilirsiniz, ancak burada ilgili değerleri kendiniz depolamanız gerekir.

Sonra, AntiForgeryToken'ı özellikle AJAX üzerinden manuel olarak güncelleme yöntemini tanıtacağız.

Paket Kodu:



Test kodu:



Ajax talebi gönderildiğinde, aşağıdaki şekilde gösterildiği gibi __RequestVerificationToken parametrelerin otomatik olarak dahil edildiğini bulduk:







Önceki:Windows CMD Tarihsel Komut Geçmişi Eğitimi Görüşü
Önümüzdeki:Meet Azure DevOps
 Ev sahibi| 2019-9-25 tarihinde 18:09:46 tarihinde yayınlandı |
2019-11-10 tarihinde 15:06:37 tarihinde yayınlandı |
Arka plan tedavi planı yazmadın mı? Başlık içindeki arka plan işleme, başlık olmadan yapılan arka plan işleminden farklıdır
 Ev sahibi| 2019-11-21 10:38:40 tarihinde yayınlandı |
Danqingcheng 2019-11-10 tarihinde 15:06 tarihinde yayınlandı
Arka plan tedavi planı yazmadın mı? Başlık içindeki arka plan işleme, başlık olmadan yapılan arka plan işleminden farklıdır

Hmm, filtreyi yeniden yazmam gerekiyor
 Ev sahibi| 2021-2-20 tarihinde 19:22:14 tarihinde yayınlandı |
CSRF saldırılarını önlemek için AntiForgeryToken ile mvc ajax
https://www.itsvse.com/thread-4207-1-1.html
2021-12-9 tarihinde 18:41:29 tarihinde yayınlandı |
testtesttesttesttesttesttest
 Ev sahibi| 2022-4-17 12:59:39 tarihinde yayınlandı |
 Ev sahibi| 2024-9-26 15:57:52 tarihinde yayınlandı |
Açısal Çözüm:Bağlantı girişi görünür.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com