Áhrif
Cross-Site Request Forgery (CSRF) gerir árásarmanni kleift að blekkja vafra fórnarlambs til að framkvæma óæskilegar aðgerðir á annarri vefsíðu þar sem fórnarlambið er auðkennt. Vegna þess að vafrar innihalda sjálfkrafa umhverfisskilríki eins og vafrakökur í beiðnum, getur árásarmaður falsað aðgerðir sem breyta ástandi - eins og að breyta lykilorðum, eyða gögnum eða hefja viðskipti - án vitundar notandans.
Orsök
Grundvallarorsök CSRF er sjálfgefin hegðun vafrans að senda vafrakökur tengdar léni í hvert sinn sem beiðni er gerð til þess léns, óháð uppruna beiðninnar [S1]. Án sérstakrar staðfestingar á því að beiðni hafi verið kveikt viljandi frá eigin notendaviðmóti forritsins getur þjónninn ekki greint á milli lögmætrar notendaaðgerðar og fölsunar.
Django CSRF verndarkerfi
Django býður upp á innbyggt varnarkerfi til að draga úr þessari áhættu með millihugbúnaði og samþættingu sniðmáta [S2].
Miðlabúnaðarvirkjun
django.middleware.csrf.CsrfViewMiddleware er ábyrgur fyrir CSRF vernd og er venjulega virkt sjálfgefið [S2]. Það verður að vera staðsett áður en hvaða miðlunarhugbúnaður sem gerir ráð fyrir að CSRF árásir hafi þegar verið meðhöndlaðar [S2].
Sniðmátsútfærsla
Fyrir öll innri POST eyðublöð verða þróunaraðilar að hafa {% csrf_token %} merkið inni í <form> frumefninu [S2]. Þetta tryggir að einstakt, leynilegt tákn sé innifalið í beiðninni, sem þjónninn staðfestir síðan gegn lotu notandans.
Táknlekahætta
Mikilvæg útfærsluatriði er að {% csrf_token %} ætti aldrei að vera með í eyðublöðum sem miða á ytri vefslóðir [S2]. Að gera það myndi leka leynilegum CSRF-táknum til þriðja aðila, sem gæti haft áhrif á setuöryggi notandans [S2].
Vörn á vafrastigi: SameSite vafrakökur
Nútíma vafrar hafa kynnt SameSite eigindina fyrir Set-Cookie hausinn til að bjóða upp á lag af varnar-í-dýpt [S1].
- Strangt: Fótsporið er aðeins sent í samhengi frá fyrsta aðila, sem þýðir að vefsíðan á vefslóðastikunni passar við lén kökunnar [S1].
- Lax: Kexið er ekki sent á undirbeiðnum þvert á vefsvæði (svo sem myndir eða ramma) heldur er það sent þegar notandi fer á upprunasíðuna, svo sem með því að fylgja stöðluðum hlekk [S1].
Hvernig FixVibe prófar það
FixVibe felur nú í sér CSRF vernd sem virk eftirlit með hliði. Eftir staðfestingu á léni skoðar active.csrf-protection uppgötvuð eyðublöð sem breytast í ástandi, athugar hvort CSRF-táknlaga inntak og SameSite vafrakökumerki séu uppgötvuð, reynir síðan að senda inn fölsuð uppruna með litlum áhrifum og tilkynnir aðeins þegar þjónninn samþykkir það. Vafrakökur merkja einnig veika SameSite eiginleika sem draga úr CSRF vörn í dýpt.
