Áhrif
Árásarmaður getur stolið viðkvæmum, staðfestum gögnum frá notendum viðkvæms forrits [S2]. Ef notandi heimsækir skaðlega vefsíðu á meðan hann er skráður inn í viðkvæma appið getur skaðlega vefsvæðið lagt fram beiðnir um krossuppruna til API forritsins og lesið svörin [S1][S2]. Þetta getur leitt til þjófnaðar á einkaupplýsingum, þar á meðal notendasniðum, CSRF táknum eða einkaskilaboðum [S2].
Orsök
CORS er HTTP-haus byggt vélbúnaður sem gerir netþjónum kleift að tilgreina hvaða uppruna (lén, kerfi eða gátt) er heimilt að hlaða auðlindum [S1]. Veikleikar koma venjulega upp þegar CORS stefna netþjóns er of sveigjanleg eða illa útfærð [S2]:
- Reflected Origin Header: Sumir netþjónar lesa
Originhausinn úr beiðni viðskiptavinar og enduróma hann aftur íAccess-Control-Allow-Origin(ACAO) svarhaus [S2]. Þetta gerir hvaða vefsíðu sem er í raun kleift að fá aðgang að auðlindinni [S2]. - Misstillt algildiskort: Þó að
*jokertáknið leyfi hvaða uppruna sem er að fá aðgang að auðlind, er ekki hægt að nota það fyrir beiðnir sem krefjast skilríkja (eins og fótspora eða heimildahausa) [S3]. Hönnuðir reyna oft að komast framhjá þessu með því að búa til ACAO hausinn á kraftmikinn hátt byggt á beiðninni [S2]. - Hvítlistun 'null': Sum forrit eru á undanþágulista
nulluppruna, sem hægt er að kveikja á með tilvísuðum beiðnum eða staðbundnum skrám, sem gerir skaðlegum vefsvæðum kleift að dulkast semnulluppruna til að fá aðgang ZXCVIXVIBETOKEN2ZVFXCVIZ. - Persing Errors: Mistök í regex eða strengjasamsvörun við staðfestingu á
Originhausnum geta gert árásarmönnum kleift að nota lén eins ogtrusted-domain.com.attacker.com[S2].
Það er mikilvægt að hafa í huga að CORS er ekki vörn gegn fölsun á milli vefsvæða (CSRF) [S2].
Steinsteypa lagfæringar
- Notaðu kyrrstæðan hvítlista: Forðastu að búa til
Access-Control-Allow-Originhaus fráOriginhaus [S2] beiðninnar. Í staðinn skaltu bera saman uppruna beiðninnar við harðkóðaðan lista yfir traust lén [S3]. - Forðastu „null“ uppruna: Aldrei settu
nullá hvítalistann þinn yfir leyfilegan uppruna [S2]. - Takmarka skilríki: Stilltu aðeins
Access-Control-Allow-Credentials: trueef brýna nauðsyn krefur fyrir tiltekna víxlverkun [S3]. - Notaðu rétta löggildingu: Ef þú verður að styðja marga uppruna skaltu ganga úr skugga um að staðfestingarrökfræðin fyrir
Originhausinn sé traustur og ekki er hægt að fara framhjá undirlénum eða lénum sem líta svipað út [S2].
Hvernig FixVibe prófar það
FixVibe inniheldur þetta nú sem virk ávísun. Eftir staðfestingu á léni sendir active.cors API beiðnir með sama uppruna með tilbúnum árásaruppruna og fer yfir CORS svarhausa. Það greinir frá endurspegluðum handahófskenndum uppruna, CORS með jokertáknum og víðopnum CORS á óopinberum API endapunktum en forðast hávaða almenningseigna.
