FixVibe
Covered by FixVibehigh

Dìon CSRF: A’ dìon an aghaidh atharrachaidhean stàite gun chead

Tha Forgery Iarrtas Tar-Làraich (CSRF) fhathast na chunnart mòr do thagraidhean lìn. Bidh an rannsachadh seo a’ sgrùdadh mar a tha frèaman ùr-nodha mar Django a’ cur an gnìomh dìon agus mar a tha buadhan ìre brabhsair mar SameSite a’ toirt seachad dìon domhainn an aghaidh iarrtasan gun chead.

CWE-352

Buaidh

Tha Forgery Iarrtas Tar-Làraich (CSRF) a’ leigeil le neach-ionnsaigh brobhsair neach-fulang a mhealladh gu bhith a’ coileanadh gnìomhan gun iarraidh air làrach-lìn eile far a bheil an neach-fulang air a dhearbhadh an-dràsta. Leis gu bheil brobhsairean gu fèin-ghluasadach a’ toirt a-steach teisteanasan àrainneachd leithid briosgaidean ann an iarrtasan, faodaidh neach-ionnsaigh gnìomhachd atharrachadh stàite a chruthachadh - leithid atharrachadh faclan-faire, cuir às do dhàta, no tòiseachadh air gnothaichean - gun fhios don neach-cleachdaidh.

Bun-adhbhar

Is e adhbhar bunaiteach CSRF giùlan bunaiteach a’ bhrobhsair lìn a bhith a’ cur bhriosgaidean co-cheangailte ri àrainn nuair a thèid iarrtas a dhèanamh chun àrainn sin, ge bith cò às a thàinig an t-iarrtas [S1]. Às aonais dearbhadh sònraichte gun deach iarrtas a bhrosnachadh a dh’aona ghnothach bho eadar-aghaidh cleachdaiche an aplacaid fhèin, chan urrainn don fhrithealaiche dealachadh a dhèanamh eadar gnìomh cleachdaiche dligheach agus gnìomh cruthaichte.

Innealan Dìon Django CSRF

Tha Django a’ toirt seachad siostam dìon togte gus na cunnartan sin a lasachadh tro mheadhan bathar agus amalachadh teamplaid [S2].

Gnìomhachadh Middleware

Tha an django.middleware.csrf.CsrfViewMiddleware an urra ri dìon CSRF agus mar as trice tha e air a chomasachadh gu bunaiteach [S2]. Feumaidh e a bhith air a shuidheachadh mus deach bathar-meadhain sealladh sam bith a tha a’ gabhail ris gu bheil ionnsaighean CSRF air an làimhseachadh mar-thà [S2].

Cur an gnìomh teamplaid

Airson foirmean POST a-staigh sam bith, feumaidh luchd-leasachaidh an taga {% csrf_token %} a chur a-steach don eileamaid <form> [S2]. Bidh seo a’ dèanamh cinnteach gu bheil comharra dìomhair gun samhail air a ghabhail a-steach san iarrtas, a bhios an frithealaiche an uairsin a’ dearbhadh an aghaidh seisean an neach-cleachdaidh.

Cunnartan aodion comharran

Is e mion-fhiosrachadh buileachaidh deatamach nach bu chòir an {% csrf_token %} a bhith air a ghabhail a-steach gu bràth ann am foirmean a tha ag amas air URLan taobh a-muigh [S2]. Le bhith a’ dèanamh sin leigeadh a-mach an tòcan CSRF dìomhair gu treas phàrtaidh, a dh’ fhaodadh a bhith a’ toirt buaidh air tèarainteachd seisean an neach-cleachdaidh [S2].

Dìon ìre brabhsair: briosgaidean SameSite

Tha brobhsairean ùr-nodha air am feart SameSite a thoirt a-steach airson bann-cinn Set-Cookie gus còmhdach de dhoimhneachd dìon a thoirt seachad [S1].

  • Strict: Cha tèid am briosgaid a chuir ach ann an co-theacs ciad-phàrtaidh, a’ ciallachadh gu bheil an làrach sa bhàr URL a’ freagairt ri àrainn a’ bhriosgaid [S1].
  • Lax: Chan eil am briosgaid air a chuir gu fo-iarrtasan thar-làraich (leithid ìomhaighean no frèamaichean) ach thèid a chuir nuair a nì neach-cleachdaidh seòladh chun làrach tùsail, leithid le bhith a’ leantainn ceangal àbhaisteach [S1].

Mar a nì FixVibe deuchainn air a shon

Tha FixVibe a-nis a’ toirt a-steach dìon CSRF mar sgrùdadh gnìomhach le gata. Às deidh dearbhadh fearainn, bidh active.csrf-protection a’ sgrùdadh foirmean a tha ag atharrachadh stàite a chaidh an lorg, sgrùdaidhean airson cuir a-steach cumadh CSRF-token agus comharran cookie SameSite, an uairsin a’ feuchainn ri tagradh le droch bhuaidh a thoirt air tùs agus ag aithris dìreach nuair a ghabhas am frithealaiche ris. Bidh sgrùdaidhean cookie cuideachd a’ comharrachadh buadhan lag SameSite a lughdaicheas dìon domhainn CSRF.