Impatt
Attakkant jista' jisraq dejta sensittiva u awtentikata minn utenti ta' applikazzjoni vulnerabbli [S2]. Jekk utent iżur websajt malizzjuża waqt li jkun illoggjat fl-app vulnerabbli, is-sit malizzjuż jista' jagħmel talbiet ta' oriġini inkroċjata lil API tal-app u jaqra t-tweġibiet [S1][S2]. Dan jista 'jwassal għas-serq ta' informazzjoni privata, inklużi profili tal-utent, tokens CSRF, jew messaġġi privati [S2].
Kawża Għerq
CORS huwa mekkaniżmu bbażat fuq header HTTP li jippermetti lis-servers jispeċifikaw liema oriġini (dominju, skema, jew port) huma permessi biex jgħabbu riżorsi [S1]. Il-vulnerabbiltajiet tipikament jinqalgħu meta l-politika CORS ta’ server tkun flessibbli wisq jew implimentata ħażin [S2]:
- Intestatura ta' Oriġini Riflessa: Xi servers jaqraw l-header
Originminn talba tal-klijent u jsemmuha lura fl-header tar-risponsAccess-Control-Allow-Origin(ACAO) [S2]. Dan jippermetti b'mod effettiv lil kwalunkwe websajt biex taċċessa r-riżorsa [S2]. - Wildcards ikkonfigurati ħażin: Filwaqt li l-wildcard
*jippermetti li kwalunkwe oriġini taċċessa riżorsa, ma tistax tintuża għal talbiet li jeħtieġu kredenzjali (bħal cookies jew headers tal-Awtorizzazzjoni) [S3]. L-iżviluppaturi ħafna drabi jippruvaw jevitaw dan billi jiġġeneraw b'mod dinamiku l-header ACAO ibbażat fuq it-talba [S2]. - Whitelisting 'null': Xi applikazzjonijiet whitelist l-oriġini
null, li tista 'tiġi attivata minn talbiet ridiretti jew fajls lokali, li jippermettu lis-siti malizzjużi biex jaħbu bħala oriġininullbiex jiksbu aċċess ZXCVFIXVIBETOKENTOKVIXVIXVIBETOKENTOKVZCV3CV3CV. - Parsing Żbalji: Żbalji fit-tqabbil ta' regex jew string meta jiġi validat l-header
Originjistgħu jippermettu lill-attakkanti jużaw oqsma bħaltrusted-domain.com.attacker.com[S2].
Huwa importanti li wieħed jinnota li CORS mhix protezzjoni kontra Falsifikazzjoni ta' Talba bejn is-Siti (CSRF) [S2].
Fixs tal-Konkrit
- Uża Whitelist Statika: Evita li tiġġenera b'mod dinamiku l-header
Access-Control-Allow-Originmill-headerOrigin[S2] tat-talba. Minflok, qabbel l-oriġini tat-talba ma' lista hardcoded ta' oqsma ta' fiduċja [S3]. - Evita l-Oriġini 'null': Qatt ma tinkludi
nullfil-lista bajda tiegħek ta' oriġini permessi [S2]. - Irrestrinġi Kredenzjali: Issettja biss
Access-Control-Allow-Credentials: truejekk assolutament meħtieġ għall-interazzjoni speċifika bejn l-oriġini [S3]. - Uża Validazzjoni Proper: Jekk trid tappoġġja oriġini multipli, kun żgur li l-loġika tal-validazzjoni għall-header
Originhija robusta u ma tistax tiġi evitata minn sottodominji jew oqsma li jidhru simili [S2].
Kif FixVibe jittestja għaliha
FixVibe issa jinkludi dan bħala kontroll attiv gated. Wara l-verifika tad-dominju, active.cors jibgħat talbiet tal-istess oriġini API b'oriġini sintetika tal-attakkant u jirrevedi l-headers tar-rispons CORS. Jirrapporta oriġini riflessi arbitrarji, CORS bi kredenzjali wildcard, u CORS miftuħin wiesa' fuq endpoints API mhux pubbliċi filwaqt li jevita l-istorbju tal-assi pubbliċi.
