Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 45075|Svar: 7

[ASP.NET] ASP.NET CSRF-attack Ajax-begäran om inkapsling

[Kopiera länk]
Publicerad den 2019-9-12 09:42:54 | | | |
Vad är CSRF?

CSRF (Cross-site request forgery), även känt som one click attack/session riding, kinesisk förkortning: CSRF/XSRF. CSRF (Cross Site Request Forgery) är en nätverksattackmetod som listades som en av de 20 största säkerhetsriskerna på Internet år 2007. Andra säkerhetsrisker, såsom SQL-skriptinjektion och cross-site domänskriptattacker, har blivit välkända de senaste åren, och många webbplatser har försvarat sig mot dem. CSRF är dock fortfarande ett främmande begrepp för de flesta. Även den mest kända Gmail hade en CSRF-sårbarhet i slutet av 2007, som hackades och orsakade stora förluster för Gmail-användare.

Vad kan CSRF göra?

Du kan förstå CSRF-attacker som dessa: en angripare har stulit din identitet och skickat illvilliga förfrågningar i ditt namn. CSRF kan göra saker som att skicka e-post, skicka meddelanden, stjäla ditt konto eller till och med köpa varor och överföra virtuell valuta åt dig...... De problem som orsakas inkluderar: läckage av personlig integritet och säkerhet på egendomen.

ASP.NET MVC AntiForgeryToken anti-förfalskningsmärke

I ASP.NET MVC genereras formulärtokens och cookie-tokens automatiskt som standard när @Html.AntiForgeryToken() används på visningssidan. Men om vi vill uppnå manuell hämtning i bakgrunden måste vi använda klassen System.Web.Helpers.AntiForgery, och vänner som är intresserade av att se källkoden kommer att upptäcka att metoden för intern anrop av @Html.AntiForgeryToken() faktiskt är densamma som för AntiForgery-klassen.

Den används främst för att erhålla motsvarande formulär och cookie-token genom två statiska metoder: AntiForgery.GetHtml() eller AntiForgery.GetTokens(sträng oldCookieToken, utsträng newCookieToken, utsträng formToken). Det bör dock noteras att när GetHtml-metoden anropas, genereras den motsvarande cookie-token automatiskt, och sedan returneras en HTML-kod med formulärtokenvärdet dolt direkt och det returnerade värdet i denna form:

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

Namnnamnet på det dolda fältet är vanligtvis fast till "__RequestVerificationToken", och värdet är en krypterad säkerhetstoken. Detta dolda fält placeras vanligtvis i formuläret som ska skickas in, och den slutliga insändningen verifieras mot cookietokenen.

Om du använder GetTokens-metoden kan du få tag på det krypterade formuläret och cookie-token efter att ha skickat in motsvarande parametrar, men här måste du lagra motsvarande värden själv.

Därefter kommer vi att introducera metoden för manuell uppdatering av AntiForgeryToken, främst via AJAX.

Paketkod:



Testkod:



Vi fann att när man skickar en ajax-förfrågan inkluderas __RequestVerificationToken parametrar automatiskt, som visas i figuren nedan:







Föregående:Windows CMD View Historisk kommandohistorik Handledning
Nästa:Möt Azure DevOps
 Hyresvärd| Publicerad den 2019-9-25 18:09:46 |
Publicerad den 2019-11-10 15:06:37 |
Skrev du inte en bakgrundsbehandlingsplan? Bakgrundsbearbetningen inuti headern skiljer sig från bakgrundsbearbetningen utan headern
 Hyresvärd| Publicerad den 2019-11-21 10:38:40 |
Danqingcheng publicerade den 2019-11-10 15:06
Skrev du inte en bakgrundsbehandlingsplan? Bakgrundsbearbetningen inuti headern skiljer sig från bakgrundsbearbetningen utan headern

Hmm, jag måste skriva om filtret
 Hyresvärd| Publicerad den 2021-2-20 19:22:14 |
mvc ajax med AntiForgeryToken för att förhindra CSRF-attacker
https://www.itsvse.com/thread-4207-1-1.html
Publicerad den 2021-12-9 18:41:29 |
testtesttesttesttesttesttest test
 Hyresvärd| Publicerad den 2022-4-17 12:59:39 |
 Hyresvärd| Publicerad den 2024-9-26 15:57:52 |
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com