Таъсир
Ҳамлагар метавонад маълумоти ҳассос ва тасдиқшударо аз корбарони замимаи осебпазир [S2] дуздад. Агар корбар ҳангоми ворид шудан ба барномаи осебпазир ба вебсайти зараровар ворид шавад, сайти шубҳанок метавонад ба API дархостҳои байнисоҳавӣ ирсол кунад ва посухҳои [S1][S2]-ро хонад. Ин метавонад боиси дуздии маълумоти хусусӣ гардад, аз ҷумла профилҳои корбар, аломатҳои CSRF ё паёмҳои хусусӣ [S2].
Сабаби аслӣ
CORS механизми дар асоси HTTP-сарлавҳаест, ки ба серверҳо имкон медиҳад, ки муайян кунанд, ки кадом сарчашмаҳо (домен, схема ё порт) барои боркунии захираҳои [S1] иҷозат дода шудаанд. Осебиятҳо одатан вақте ба вуҷуд меоянд, ки сиёсати CORS-и сервер аз ҳад чандир аст ё [S2] суст амалӣ карда мешавад:
- Сарлавҳаи пайдоиши инъикосшуда: Баъзе серверҳо сарлавҳаи
Origin-ро аз дархости муштарӣ мехонанд ва онро дар сарлавҳаи посухиAccess-Control-Allow-Origin(ACAO) [S2] такрор мекунанд. Ин ба таври муассир имкон медиҳад, ки ҳар як вебсайт ба захираи [S2] дастрасӣ пайдо кунад. - Аломатҳои ҷобаҷогузории нодуруст: Ҳангоме ки аломати ҷодугарии
*ба ҳама гуна сарчашма имкон медиҳад, ки ба манбаъ дастрасӣ дошта бошад, онро барои дархостҳое, ки маълумоти эътимоднома талаб мекунанд (ба мисли кукиҳо ё сарлавҳаҳои авторизатсия) [S3] истифода бурдан мумкин нест. Таҳиягарон аксар вақт кӯшиш мекунанд, ки онро бо роҳи динамикӣ тавлид кардани сарлавҳаи ACAO дар асоси дархости [S2] гузаранд. - Рӯйхати сафеди 'null': Баъзе барномаҳо пайдоиши
null-ро ба рӯйхати сафед дохил мекунанд, ки он метавонад тавассути дархостҳои масир ё файлҳои маҳаллӣ оғоз шавад ва ба сайтҳои зараровар имкон медиҳад, ки ҳамчун сарчашмаиnullдастрасӣ пайдо кунанд. [S2][S3]. - Хатоҳои таҳлил: Хатогиҳо дар мувофиқати регекс ё сатр ҳангоми тасдиқи сарлавҳаи
Originметавонад ба ҳамлагарон имкон диҳад, ки доменҳоро мислиtrusted-domain.com.attacker.com[S2] истифода баранд.
Қайд кардан муҳим аст, ки CORS муҳофизат аз қалбакии дархости байнисоҳавӣ (CSRF) [S2] нест.
Ислоҳҳои мушаххас
- Рӯйхати сафеди статикиро истифода баред: Аз тавлиди динамикии сарлавҳаи
Access-Control-Allow-OriginазOriginдархости [S2] худдорӣ кунед. Ба ҷои ин, пайдоиши дархостро бо рӯйхати сахткоди доменҳои боэътимоди [S3] муқоиса кунед. - Аз пайдоиши 'null' худдорӣ кунед: Ҳеҷ гоҳ
null-ро ба рӯйхати сафеди пайдоиши иҷозатдодашудаи худ дохил накунед [S2]. - Маҳдуд кардани эътимоднома: Танҳо
Access-Control-Allow-Credentials: true-ро дар ҳолати зарурӣ барои ҳамкории мушаххаси байнисоҳавӣ [S3] таъин кунед. - Истифодаи тасдиқи дуруст: Агар шумо бояд сарчашмаҳои сершуморро дастгирӣ кунед, боварӣ ҳосил кунед, ки мантиқи тасдиқи сарлавҳаи
Originустувор аст ва аз ҷониби зердоменҳо ё доменҳои шабеҳи [S2] гузаштан мумкин нест.
Чӣ тавр FixVibe онро озмоиш мекунад
FixVibe ҳоло инро ҳамчун чеки фаъоли дарвозабон дар бар мегирад. Пас аз санҷиши домен, active.cors дархостҳои API-ро бо пайдоиши ҳамлаи синтетикӣ мефиристад ва сарлавҳаҳои посухи CORS-ро баррасӣ мекунад. Дар он гузоришҳо сарчашмаҳои худсарона, аломати ваҳшӣ бо шаҳодатномаи CORS ва CORS-и васеъ кушода дар нуқтаҳои ғайридавлатии API ҳангоми пешгирӣ аз садои дороиҳои ҷамъиятӣ инъикос ёфтааст.
