Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 45075|Risposta: 7

[ASP.NET] ASP.NET attacco CSRF Incapsulamento delle richieste Ajax

[Copiato link]
Pubblicato il 12-9-2019 09:42:54 | | | |
Cos'è il CSRF?

CSRF (Cross-site request forgery), noto anche come attacco con un clic/session riding, abbreviazione cinese: CSRF/XSRF. CSRF (Cross Site Request Forgery) è un metodo di attacco di rete che nel 2007 è stato inserito tra i 20 principali rischi di sicurezza su Internet. Altri rischi di sicurezza, come l'iniezione di script SQL e gli attacchi cross-site domain script, sono diventati ben noti negli ultimi anni, e molti siti web si sono difesi da essi. Tuttavia, CSRF è ancora un concetto estraneo alla maggior parte delle persone. Anche il Gmail più famoso aveva una vulnerabilità CSRF alla fine del 2007, che è stata hackerata e ha causato enormi perdite agli utenti di Gmail.

Cosa può fare il CSRF?

Puoi capire gli attacchi CSRF così: un attaccante ha rubato la tua identità e inviato richieste malevole a tuo nome. CSRF può fare cose come inviare email, inviare messaggi, rubare il tuo account o persino acquistare beni e trasferire valuta virtuale per tuo conto...... I problemi causati includono: perdite di privacy personale e sicurezza della proprietà.

ASP.NET marchio anti-contraffazione MVC AntiForgeryToken

In ASP.NET MVC, i token form e i token cookie vengono generati automaticamente di default ogni volta che @Html.AntiForgeryToken() viene utilizzato nella pagina di visualizzazione. Tuttavia, se vogliamo ottenere un recupero manuale in background, dobbiamo usare la classe System.Web.Helpers.AntiForgery, e gli amici interessati a visualizzare il codice sorgente scopriranno che, in effetti, il metodo di chiamata interna di @Html.AntiForgeryToken() è lo stesso della classe AntiForgery.

Viene principalmente utilizzato per ottenere il corrispondente form e cookie token tramite due metodi statici: AntiForgery.GetHtml() o AntiForgery.GetTokens(stringa oldCookieToken, outstringa newCookieToken, outstringa formToken). Tuttavia, va notato che una volta chiamato il metodo GetHtml, il token cookie corrispondente verrà generato automaticamente, e poi un pezzo di codice HTML con il campo nascosto del valore del token di forma verrà restituito direttamente, e il valore restituito sarà in questa forma:

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

Il nome del campo nascosto è generalmente fissato su "__RequestVerificationToken", e il valore è un token di sicurezza criptato. Questo campo nascosto viene solitamente inserito nel modulo da inviare e l'ultimo invio viene verificato rispetto al token del cookie.

Se usi il metodo GetTokens, puoi ottenere il modulo criptato e il token cookie dopo aver inserito i parametri corrispondenti, ma qui devi memorizzare i valori corrispondenti da solo.

Successivamente, presenteremo il metodo di aggiornamento manuale di AntiForgeryToken, principalmente tramite AJAX.

Codice pacchetto:



Codice di test:



Abbiamo scoperto che quando si invia una richiesta ajax, i parametri __RequestVerificationToken vengono automaticamente inclusi, come mostrato nella figura qui sotto:







Precedente:Tutorial sulla cronologia storica dei comandi per Windows CMD View
Prossimo:Meet Azure DevOps
 Padrone di casa| Pubblicato il 25-09-2019 18:09:46 |
Pubblicato il 10-11-2019 15:06:37 |
Non hai scritto un piano di trattamento di background? L'elaborazione in background all'interno dell'intestazione è diversa dall'elaborazione in background senza l'intestazione
 Padrone di casa| Pubblicato il 21-11-2019 10:38:40 |
Danqingcheng pubblicato il 10-11-2019 alle 15:06
Non hai scritto un piano di trattamento di background? L'elaborazione in background all'interno dell'intestazione è diversa dall'elaborazione in background senza l'intestazione

Hmm, devo riscrivere il filtro
 Padrone di casa| Pubblicato il 20-2-2021 19:22:14 |
MVC Ajax con AntiForgeryToken per prevenire attacchi CSRF
https://www.itsvse.com/thread-4207-1-1.html
Pubblicato il 9-12-2021 18:41:29 |
testtesttesttesttesttest
 Padrone di casa| Pubblicato il 17-04-2022 12:59:39 |
 Padrone di casa| Pubblicato il 26-09-2024 15:57:52 |
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com