Impatt
Cross-Site Request Forgery (CSRF) jippermetti lil attakkant iqarraq bil-browser tal-vittma biex iwettaq azzjonijiet mhux mixtieqa fuq websajt differenti fejn il-vittma hija attwalment awtentikata. Minħabba li l-browsers awtomatikament jinkludu kredenzjali ambjentali bħall-cookies fit-talbiet, attakkant jista 'jsawwar operazzjonijiet li jbiddlu l-istat—bħal tibdil tal-passwords, it-tħassir tad-dejta, jew il-bidu ta' tranżazzjonijiet—mingħajr l-għarfien tal-utent.
Kawża Għerq
Il-kawża fundamentali tas-CSRF hija l-imġieba default tal-web browser li jibgħat cookies assoċjati ma' dominju kull meta ssir talba lil dak id-dominju, irrispettivament mill-oriġini tat-talba [S1]. Mingħajr validazzjoni speċifika li talba ġiet attivata intenzjonalment mill-interface tal-utent tal-applikazzjoni stess, is-server ma jistax jiddistingwi bejn azzjoni leġittima tal-utent u waħda falsifikata.
Mekkaniżmi ta' Protezzjoni Django CSRF
Django jipprovdi sistema ta' difiża inkorporata biex itaffu dawn ir-riskji permezz ta' middleware u integrazzjoni tal-mudelli [S2].
Attivazzjoni tal-Middleware
Iż-django.middleware.csrf.CsrfViewMiddleware huwa responsabbli għall-protezzjoni CSRF u huwa tipikament attivat b'mod awtomatiku [S2]. Għandu jitqiegħed qabel kwalunkwe middleware tal-vista li jassumi li l-attakki CSRF diġà ġew immaniġġjati [S2].
Implimentazzjoni tal-Mudelli
Għal kwalunkwe formoli POST interni, l-iżviluppaturi għandhom jinkludu t-tikketta {% csrf_token %} ġewwa l-element <form> [S2]. Dan jiżgura li token uniku u sigriet ikun inkluż fit-talba, li s-server imbagħad jivvalida kontra s-sessjoni tal-utent.
Riskji ta' Tnixxija ta' Tokens
Dettall kritiku ta' implimentazzjoni huwa li {% csrf_token %} m'għandu qatt jiġi inkluż f'formoli li jimmiraw URLs esterni [S2]. Jekk tagħmel dan, it-token CSRF sigriet joħroġ lil parti terza, u potenzjalment jikkomprometti s-sigurtà tas-sessjoni tal-utent [S2].
Difiża fil-Livell tal-Browser: Cookies tal-Istess Sit
Brawżers moderni introduċew l-attribut SameSite għall-header Set-Cookie biex jipprovdu saff ta 'difiża fil-fond [S1].
- Strict: Il-cookie tintbagħat biss f'kuntest tal-ewwel parti, jiġifieri s-sit fil-bar tal-URL jaqbel mad-dominju tal-cookie [S1].
- Lax: Il-cookie ma tintbagħatx fuq sub-talbiet bejn is-siti (bħal immaġini jew frames) iżda tintbagħat meta utent jinnaviga lejn is-sit tal-oriġini, bħal billi jsegwi link standard [S1].
Kif FixVibe jittestja għaliha
FixVibe issa jinkludi protezzjoni CSRF bħala kontroll attiv gated. Wara l-verifika tad-dominju, active.csrf-protection jispezzjona formoli skoperti li jinbidlu l-istat, kontrolli għal inputs f'forma ta 'token CSRF u sinjali tal-cookie SameSite, imbagħad jipprova sottomissjoni ta' oriġini falsifikata b'impatt baxx u jirrapporta biss meta s-server jaċċettaha. Il-kontrolli tal-cookies jindikaw ukoll attributi dgħajfin ta' SameSite li jnaqqsu d-difiża CSRF fil-fond.
