FixVibe
Covered by FixVibehigh

CORS Nhazi na-ezighi ezi: Ihe ize ndụ nke amụma na-anabata oke

Ịkekọrịta ihe enyemaka gafere-Origin (CORS) bụ usoro ihe nchọgharị emebere iji mee ka izu ike nke Otu-Origin Policy (SOP). Ọ bụ ezie na ọ dị mkpa maka ngwa weebụ ọgbara ọhụrụ, mmejuputa iwu na-ezighi ezi-dị ka ikwughachi isi mmalite nke onye na-arịọ arịrịọ ma ọ bụ idepụta mmalite 'null' nwere ike ikwe ka saịtị ọjọọ wepụta data onye ọrụ nkeonwe.

CWE-942

Mmetụta

Onye na-awakpo nwere ike izu ohi nwere mmetụta, data ezitere na n'aka ndị ọrụ nke ngwa adịghị ike [S2]. Ọ bụrụ na onye ọrụ gara na webụsaịtị ọjọọ mgbe ọ banyere na ngwa adịghị ike, saịtị ọjọọ ahụ nwere ike ịrịọ arịrịọ sitere na ngwa API wee gụọ nzaghachi [S1][S2]. Nke a nwere ike bute izu ohi ozi nkeonwe, gụnyere profaịlụ onye ọrụ, akara CSRF, ma ọ bụ ozi nzuzo [S2].

Ihe kpatara ya

CORS bụ usoro dabere na isi HTTP nke na-enye ndị ọrụ ohere ịkọwapụta mmalite (ngalaba, atụmatụ, ma ọ bụ ọdụ ụgbọ mmiri) ekwenyere ibu akụrụngwa [S1]. Ọdịmma na-ebilite mgbe amụma CORS nke ihe nkesa na-agbanwe nke ukwuu ma ọ bụ emejuputaghị ya nke ọma [S2]:

  • Isi mmalite nke egosipụtara: Ụfọdụ sava na-agụ isi okwu Origin site na arịrịọ ndị ahịa wee kwughachi ya na Access-Control-Allow-Origin (ACAO) nkụnye eji isi mee nzaghachi [S2]. Nke a na-enye ohere ka webụsaịtị ọ bụla nweta akụrụngwa [S2].
  • Kaadị ọhịa na-ahazighị nke ọma: Ọ bụ ezie na * wildcard na-enye ohere mmalite ọ bụla ịnweta akụrụngwa, enweghị ike iji ya maka arịrịọ chọrọ nzere (dị ka kuki ma ọ bụ nkụnye ikike ikike) [S3]. Ndị mmepe na-agbalịkarị ịgafe nke a site n'ịmepụta nkụnye eji isi mee ACAO dabere na arịrịọ [S2].

** Ụfọdụ ngwa na-edepụta aha mbụ null, nke enwere ike ịkpalite site na arịrịọ ebugharị ma ọ bụ faịlụ mpaghara, na-ekwe ka saịtị ọjọọ megharịa dị ka ebe null si nweta ohere. [S2][S3].

  • Mmehie njehie: Mmejọ dị na regex ma ọ bụ dakọtara eriri mgbe ị na-akwado isi isi Origin nwere ike ikwe ka ndị mwakpo jiri ngalaba dịka trusted-domain.com.attacker.com [S2].

Ọ dị mkpa iburu n'uche na CORS abụghị ihe nchebe megide Arịrịọ Arịrịọ nke saịtị-Site (CSRF) [S2].

Concrete ndozi

  • Jiri a Static Whitelist: Zenarị ike na-emepụta Access-Control-Allow-Origin nkụnye eji isi mee site na arịrịọ Origin nkụnye eji isi mee [S2]. Kama, tulee ebe arịrịọ ahụ si malite na ndepụta ngalaba ntụkwasị obi siri ike [S3].
  • Zenarị mmalite 'null': etinyela null n'ime akwụkwọ ọcha nke mmalite ekwenyere [S2].
  • Machibido nzere: Naanị tọọ Access-Control-Allow-Credentials: true ma ọ bụrụ na ọ dị oke mkpa maka mkparịta ụka sitere na mmalite [S3].
  • Jiri nkwado kwesịrị ekwesị: Ọ bụrụ na ị ga-akwadorịrị ọtụtụ mmalite, hụ na mgbagha nkwado maka nkụnye eji isi mee Origin siri ike na ngalaba ngalaba ma ọ bụ ngalaba ndị yiri ya [S2] agaghị agabiga ya.

Kedu ka FixVibe si nwalee ya

FixVibe gụnyere nke a dị ka nlele na-arụ ọrụ gated. Mgbe nkwenye ngalaba gasịrị, active.cors na-eziga arịrịọ API sitere na onye mbuso synthetic yana nyocha ndị isi nzaghachi CORS. Ọ na-akọ na egosipụtara mmalite aka ike, akara ngosi CORS, yana CORS mepere emepe na njedebe API na-abụghị nke ọha ma na-ezere mkpọtụ akụ ọha.