Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 45075|Svar: 7

[ASP.NET] ASP.NET CSRF-angreb Ajax-anmodning indkapsling

[Kopier link]
Opslået den 2019-9-12 09:42:54 | | | |
Hvad er CSRF?

CSRF (Cross-site request forgery), også kendt som one click attack/session riding, kinesisk forkortelse: CSRF/XSRF. CSRF (Cross Site Request Forgery) er en netværksangrebsmetode, der blev opført som en af de 20 største sikkerhedsrisici på internettet i 2007. Andre sikkerhedsrisici, såsom SQL-script-injektion og cross-site domain script-angreb, er blevet velkendte i de senere år, og mange hjemmesider har forsvaret sig imod dem. CSRF er dog stadig et fremmed begreb for de fleste. Selv den mest kendte Gmail havde en CSRF-sårbarhed i slutningen af 2007, som blev hacket og forårsagede store tab for Gmail-brugere.

Hvad kan CSRF gøre?

Du kan forstå CSRF-angreb som dette: en angriber har stjålet din identitet og sendt ondsindede anmodninger i dit navn. CSRF kan gøre ting som at sende e-mails, sende beskeder, stjæle din konto eller endda købe varer og overføre virtuel valuta på dine vegne...... De problemer, der opstår, omfatter: lækage af privatliv og sikkerhed på ejendommen.

ASP.NET MVC AntiForgeryToken anti-forfalskningsmærke

I ASP.NET MVC genereres formulartokens og cookie-tokens automatisk som standard, når @Html.AntiForgeryToken() bruges på visningssiden. Men hvis vi vil opnå manuel hentning i baggrunden, skal vi bruge System.Web.Helpers.AntiForgery-klassen, og venner, der er interesserede i at se kildekoden, vil opdage, at metoden for internt kald af @Html.AntiForgeryToken() faktisk er den samme som for AntiForgery-klassen.

Det bruges hovedsageligt til at opnå den tilsvarende formular og cookie-token gennem to statiske metoder: AntiForgery.GetHtml() eller AntiForgery.GetTokens(streng oldCookieToken, ud-streng newCookieToken, ud-streng formToken). Det skal dog bemærkes, at når GetHtml-metoden kaldes, vil den tilsvarende cookie-token automatisk blive genereret, og derefter vil et stykke HTML-kode med formulartoken-værdien skjult felt blive returneret direkte, og den returnerede værdi vil være i denne form:

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

Navnenavnet på det skjulte felt er som regel fastlagt til "__RequestVerificationToken", og værdien er en krypteret sikkerhedstoken. Dette skjulte felt placeres normalt i formularen, der skal indsendes, og den endelige indsendelse verificeres mod cookie-tokenet.

Hvis du bruger GetTokens-metoden, kan du få den krypterede formular og cookie-token efter at have sendt de tilsvarende parametre ind, men her skal du selv gemme de tilsvarende værdier.

Dernæst vil vi introducere metoden til manuel opdatering af AntiForgeryToken, primært via AJAX.

Pakkekode:



Testkode:



Vi fandt, at når man sender en ajax-anmodning, inkluderes __RequestVerificationToken parametre automatisk, som vist i figuren nedenfor:







Tidligere:Windows CMD View Historisk Kommandohistorik Vejledning
Næste:Mød Azure DevOps
 Udlejer| Opslået den 25-9-2019 18:09:46 |
Opslået den 10-11-2019 15:06:37 |
Skrev du ikke en baggrundsbehandlingsplan? Baggrundsbehandlingen inde i headeren er forskellig fra baggrundsbehandlingen uden headeren
 Udlejer| Opslået den 21-11-2019 kl. 10:38:40 |
Danqingcheng postet den 2019-11-10 kl. 15:06
Skrev du ikke en baggrundsbehandlingsplan? Baggrundsbehandlingen inde i headeren er forskellig fra baggrundsbehandlingen uden headeren

Hmm, jeg skal omskrive filteret
 Udlejer| Opslået den 20-2-2021 19:22:14 |
mvc ajax med AntiForgeryToken for at forhindre CSRF-angreb
https://www.itsvse.com/thread-4207-1-1.html
Opslået den 9-12-2021 18:41:29 |
testtesttesttesttesttesttest
 Udlejer| Opslået den 17-4-2022 12:59:39 |
 Udlejer| Opslået den 26-9-2024 kl. 15:57:52 |
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com