Athari
Ughushi wa Ombi la Tovuti Mbalimbali (CSRF) huruhusu mshambulizi kuhadaa kivinjari cha mwathiriwa kutekeleza vitendo visivyotakikana kwenye tovuti tofauti ambapo mwathiriwa ameidhinishwa kwa sasa. Kwa sababu vivinjari hujumuisha kitambulisho cha mazingira kiotomatiki kama vile vidakuzi katika maombi, mshambulizi anaweza kutengeneza shughuli za kubadilisha hali—kama vile kubadilisha manenosiri, kufuta data au kuanzisha miamala—bila mtumiaji kujua.
Chanzo Chanzo
Sababu ya msingi ya CSRF ni tabia chaguomsingi ya kivinjari cha wavuti kutuma vidakuzi vinavyohusishwa na kikoa wakati wowote ombi linapofanywa kwa kikoa hicho, bila kujali asili ya ombi [S1]. Bila uthibitisho mahususi kwamba ombi lilitolewa kimakusudi kutoka kwa kiolesura cha mtumiaji cha programu yenyewe, seva haiwezi kutofautisha kati ya kitendo halali cha mtumiaji na kilichoghushiwa.
Mbinu za Ulinzi za CSRF za Django
Django hutoa mfumo wa ulinzi uliojengewa ndani ili kupunguza hatari hizi kupitia vifaa vya kati na ujumuishaji wa violezo [S2].
Uanzishaji wa kifaa cha kati
django.middleware.csrf.CsrfViewMiddleware inawajibika kwa ulinzi wa CSRF na kwa kawaida huwashwa kwa chaguo-msingi [S2]. Ni lazima iwekwe kabla ya mwonekano wowote wa kati unaodhania kuwa mashambulio ya CSRF tayari yameshughulikiwa [S2].
Utekelezaji wa Kiolezo
Kwa fomu zozote za ndani za POST, wasanidi lazima wajumuishe lebo ya {% csrf_token %} ndani ya kipengele cha <form> [S2]. Hii inahakikisha kuwa tokeni ya kipekee, ya siri imejumuishwa kwenye ombi, ambayo seva huithibitisha dhidi ya kipindi cha mtumiaji.
Hatari za Uvujaji wa Tokeni
Maelezo muhimu ya utekelezaji ni kwamba {% csrf_token %} haipaswi kamwe kujumuishwa katika fomu zinazolenga URL za nje [S2]. Kufanya hivyo kunaweza kuvujisha tokeni ya siri ya CSRF kwa mtu mwingine, na hivyo kuhatarisha usalama wa kipindi cha mtumiaji [S2].
Ulinzi wa Kiwango cha Kivinjari: Vidakuzi vya SameSite
Vivinjari vya kisasa vimeanzisha sifa ya SameSite ya kichwa cha Set-Cookie ili kutoa safu ya ulinzi ya kina [S1].
- Madhubuti: Kidakuzi hutumwa tu katika muktadha wa mtu wa kwanza, kumaanisha tovuti katika upau wa URL inalingana na kikoa cha kidakuzi [S1].
- Lax: Kidakuzi hakitumwi kwa maombi madogo ya tovuti tofauti (kama vile picha au fremu) lakini hutumwa mtumiaji anapoelekea tovuti asili, kama vile kwa kufuata kiungo cha kawaida [S1].
Jinsi FixVibe inavyoifanyia majaribio
FixVibe sasa inajumuisha ulinzi wa CSRF kama ukaguzi amilifu uliowekwa lango. Baada ya uthibitishaji wa kikoa, active.csrf-protection hukagua fomu za kubadilisha hali zilizogunduliwa, hutafuta pembejeo zenye umbo la CSRF na mawimbi ya vidakuzi vya SameSite, kisha hujaribu uwasilishaji wa asili ghushi wenye athari ya chini na huripoti tu wakati seva inakubali. Ukaguzi wa vidakuzi pia huripoti sifa dhaifu za SameSite ambazo hupunguza ulinzi wa CSRF kwa kina.
