Təsir
Təcavüzkar həssas [S2] tətbiqinin istifadəçilərindən həssas, təsdiqlənmiş məlumatları oğurlaya bilər. Əgər istifadəçi həssas proqrama daxil olarkən zərərli vebsayta daxil olarsa, zərərli sayt proqramın API-yə mənşəli sorğular edə və [S1][S2] cavablarını oxuya bilər. Bu, şəxsi məlumatların, o cümlədən istifadəçi profilləri, CSRF nişanları və ya şəxsi mesajlar [S2] oğurlanmasına səbəb ola bilər.
Kök Səbəb
CORS serverlərə [S1] resurslarını yükləmək üçün hansı mənşələrin (domen, sxem və ya port) icazə verildiyini müəyyən etməyə imkan verən HTTP başlığına əsaslanan mexanizmdir. Zəifliklər adətən serverin CORS siyasəti çox çevik olduqda və ya zəif tətbiq edildikdə yaranır: [S2]:
- Mənşəyi əks etdirən başlıq: Bəzi serverlər
Originbaşlığını müştəri sorğusundan oxuyur və onuAccess-Control-Allow-Origin(ACAO) cavab başlığı [S2] ilə əks etdirir. Bu, istənilən veb-sayta [S2] resursuna daxil olmaq imkanı verir. - Səhv konfiqurasiya edilmiş Joker işarələr:
*joker simvolu hər hansı mənbəyə resursa daxil olmağa icazə versə də, o, etimadnamə tələb edən sorğular üçün (kukilər və ya Avtorizasiya başlıqları) [S3] üçün istifadə edilə bilməz. Tərtibatçılar tez-tez [S2] sorğusu əsasında ACAO başlığını dinamik şəkildə yaradaraq bundan yan keçməyə çalışırlar. - Ağ siyahıya 'boş': Bəzi proqramlar yönləndirilmiş sorğular və ya yerli fayllar tərəfindən işə salına bilən
nullmənşəyini ağ siyahıya salır və zərərli saytlara giriş əldə etmək üçünnullmənşəyi kimi maskalanmağa imkan verir. [S2][S3]. - Ayrışdırma Xətaları:
Originbaşlığını təsdiq edərkən regex və ya sətir uyğunluğundakı səhvlər təcavüzkarlaratrusted-domain.com.attacker.com[S2] kimi domenlərdən istifadə etməyə icazə verə bilər.
Qeyd etmək vacibdir ki, CORS Saytlararası Sorğu Saxtakarlığına (CSRF) [S2] qarşı müdafiə deyil.
Beton Təmirləri
- Statik Ağ Siyahıdan istifadə edin: Sorğunun
Origin[S2] başlığındanAccess-Control-Allow-Originbaşlığını dinamik şəkildə yaratmaqdan çəkinin. Bunun əvəzinə sorğunun mənşəyini [S3] etibarlı domenlərin sərt kodlu siyahısı ilə müqayisə edin. - "Boş" mənşədən çəkinin:
null-ni icazə verilən mənşələrin ağ siyahısına [S2] heç vaxt daxil etməyin. - Etibarnamələri məhdudlaşdırın:
Access-Control-Allow-Credentials: true-ni yalnız spesifik mənşəli qarşılıqlı əlaqə [S3] üçün tamamilə lazım olduqda təyin edin. - Düzgün Təsdiqləmədən istifadə edin: Birdən çox mənşəyi dəstəkləməlisinizsə,
Originbaşlığı üçün doğrulama məntiqinin möhkəm olduğundan və [S2] altdomenləri və ya oxşar görünən domenlər tərəfindən yan keçə bilməyəcəyindən əmin olun.
FixVibe bunu necə sınaqdan keçirir
FixVibe indi bunu qapalı aktiv yoxlama kimi ehtiva edir. Domen yoxlandıqdan sonra active.cors sintetik təcavüzkar mənşəli eyni mənşəli API sorğuları göndərir və CORS cavab başlıqlarını nəzərdən keçirir. O, ictimai aktiv səs-küyünün qarşısını alaraq qeyri-ictimai API son nöqtələrində ixtiyari mənşələri, joker xarakterli etimadnaməyə malik CORS və geniş açıq CORS-ni əks etdirən hesabatlar.
