FixVibe
Covered by FixVibehigh

CORS Vesazkirina çewt: Rîskên Polîtîkayên Zêde Destûrdar

Parvekirina Çavkaniyê ya Cross-Origin (CORS) mekanîzmayek gerokê ye ku ji bo rehetkirina Siyaseta Heman-Origin (SOP) hatî çêkirin. Digel ku ji bo sepanên tevnvî yên nûjen hewce ye, pêkanîna neguncaw - wek berteka sernavê Origin a daxwazkar an navnîşa spî ya eslê 'nûl'- dikare rê bide malperên xerab ku daneyên bikarhênerê taybet derxînin holê.

CWE-942

Bandor

Êrîşkarek dikare daneyên hesas û pejirandî ji bikarhênerên serîlêdana xedar [S2] bidize. Ger bikarhênerek dema ku têkeve nav sepana xedar seredana malperek xirab bike, malpera xirab dikare ji API-ya sepanê daxwazên hev-esil bike û bersivên [S1][S2] bixwîne. Ev dikare bibe sedema diziya agahdariya taybet, tevî profîlên bikarhêner, nîşaneyên CSRF, an peyamên taybet [S2].

Sedema bingehîn

CORS mekanîzmayek sernavê HTTP-ê ye ku destûrê dide pêşkêşkeran ku diyar bikin ka kîjan eslê (domîn, nexşe, an port) destûr heye ku çavkaniyên [S1] bar bike. Bi gelemperî dema ku polîtîkaya serverek CORS pir maqûl be an jî bi kêmasî were bicîh kirin [S2], lawaz çêdibin:

  • Sernavê Orjînala Reflected: Hin server sernivîsa Origin ji daxwazek xerîdar dixwînin û wê di sernavê bersivê ya Access-Control-Allow-Origin (ACAO) [S2] de vedigerînin. Ev bi bandor rê dide her malperek ku bigihîje çavkaniya [S2].
  • Waldcardên şaş hatine mîhengkirin: Dema ku xiftanê * destûrê dide her eslê xwe ku xwe bigihîne çavkaniyekê, ew ji bo daxwazên ku pêbawerî hewce ne (wek cookie an sernavên Destûrnameyê) [S3] nayê bikar anîn. Pêşdebir bi gelemperî hewl didin ku vê yekê ji hêla dînamîkî ve li ser bingeha daxwaznameya [S2] biafirînin sernavê ACAO-yê derbas bikin.
  • Lîsteya spî ya 'null': Hin serîlêdan navnîşa spî ya null dinivîsin, ku dikare ji hêla daxwazên beralîkirî an pelên herêmî ve were rêve kirin, rê dide ku malperên xerab wekî eslê null bidest bixin û xwe bigihînin. [S2][S3].
  • Çewtiyên Parskirinê: Çewtiyên di regex an lihevhatina rêzikê de dema ku sernavê Origin erêkirin dikare rê bide êrîşkar ku domên mîna trusted-domain.com.attacker.com [S2] bikar bînin.

Girîng e ku bala xwe bidinê ku CORS ne parastinek e li dijî Daxwaza Xaç-Malperê (CSRF) [S2].

Serastkirinên Beton

  • Lîsteya Spî ya Statîkî bikar bînin: Ji çêkirina dînamîk sernivîsa Access-Control-Allow-Origin ji sernavê Origin ya daxwazê [S2] bi dînamîk dûr bixin. Di şûna wê de, eslê daxwazê ​​​​li hember navnîşek hişk a domên pêbawer [S3] bidin ber hev.
  • Xwe ji eslê 'nûl' dûr bixin: Qet null nexin nav lîsteya xweya spî ya koka destûr [S2].
  • Peymannameyên sînordar bikin: Tenê Access-Control-Allow-Credentials: true destnîşan bikin heke bêkêmasî ji bo danûstendina xaçerê ya taybetî [S3] hewce be.
  • Perastkirina Rast bikar bînin: Ger pêdivî ye ku hûn pir eslê xwe piştgirî bikin, pê ewle bin ku mantiqa pejirandinê ya sernavê Origin zexm e û ji hêla subdomains an domên mîna hev ve nayê derbas kirin [S2].

FixVibe çawa ji bo wê diceribîne

FixVibe naha vê yekê wekî kontrolek çalak a dergeh vedihewîne. Piştî verastkirina domainê, active.cors daxwazên API-ya heman eslê xwe bi eslê xwe yê êrîşkar sentetîk dişîne û sernavên bersiva CORS dinirxîne. Ew rapor dike ku eslên keyfî nîşan dide, bi qertafên hovane pêbaweriya CORS, û CORS-ya vekirî li ser xalên dawiya API-ya ne-gelemperî di heman demê de ji dengê maldariya giştî dûr dikeve.