Impattu
Cross-Site Request Forgery (CSRF) permette à un attaccu di ingannà u navigatore di una vittima per fà azioni indesiderate in un situ web diversu induve a vittima hè attualmente autentificata. Perchè i navigatori includenu automaticamente credenziali ambientali cum'è i cookies in e dumande, un attaccu pò falsificà operazioni di cambiamentu di u statu - cum'è cambià password, sguassate dati, o inizianu transazzioni - senza a cunniscenza di l'utilizatore.
Causa Root
A causa fundamentale di CSRF hè u cumpurtamentu predeterminatu di u navigatore web di mandà cookies assuciati cù un duminiu ogni volta chì una dumanda hè fatta à quellu duminiu, indipendentemente da l'origine di a dumanda [S1]. Senza una validazione specifica chì una dumanda hè stata attivata intenzionalmente da l'interfaccia d'utilizatore di l'applicazione, u servitore ùn pò micca distingue trà una azzione d'utilizatore legittima è una falsificata.
Meccanismi di prutezzione Django CSRF
Django furnisce un sistema di difesa integratu per mitigà questi risichi per mezu di middleware è integrazione di mudelli [S2].
Attivazione di Middleware
U django.middleware.csrf.CsrfViewMiddleware hè rispunsevule per a prutezzione CSRF è hè tipicamente attivatu per difettu [S2]. Deve esse posizionatu prima di qualsiasi middleware di vista chì assume chì l'attacchi CSRF sò digià trattatu [S2].
Implementazione di mudelli
Per qualsiasi forma POST interna, i sviluppatori devenu include l'etichetta {% csrf_token %} in l'elementu <form> [S2]. Questu assicura chì un token unicu è secretu hè inclusu in a dumanda, chì u servitore poi validate contru a sessione di l'utilizatore.
Rischi di Fuga di Token
Un dettagliu criticu di implementazione hè chì u {% csrf_token %} ùn deve mai esse inclusu in forme destinate à URL esterni [S2]. Fendu cusì, u token secretu CSRF fuglia à un terzu, putenzialmente compromettendu a sicurità di a sessione di l'utilizatori [S2].
Difesa à Livellu di Browser: Cookies SameSite
I navigatori muderni anu introduttu l'attributu SameSite per l'intestazione Set-Cookie per furnisce una strata di difesa in profonda [S1].
- Strictu: A cookie hè mandata solu in un cuntestu di prima parte, vale à dì chì u situ in a barra URL currisponde à u duminiu di u cookie [S1].
- Lax: A cookie ùn hè micca mandata nantu à i subrequests cross-site (cum'è l'imaghjini o frames) ma hè mandatu quandu un utilizatore naviga à u situ d'origine, cum'è per seguità un ligame standard [S1].
Cumu FixVibe prova per questu
FixVibe include avà a prutezzione CSRF cum'è un cuntrollu attivu gated. Dopu a verificazione di u duminiu, active.csrf-protection inspecciona e forme scuperte chì cambianu u statu, cuntrolla per inputs in forma di token CSRF è signali di cookie SameSite, dopu pruvate una sottumissione d'origine falsificata à pocu impattu è solu rapporti quandu u servitore accetta. I cuntrolli di cookie anu ancu marcatu l'attributi SameSite debuli chì riducenu a difesa CSRF in profondità.
