FixVibe
Covered by FixVibehigh

CORS වැරදි වින්‍යාසය: අධික ලෙස අවසර දෙන ප්‍රතිපත්තිවල අවදානම්

හරස් සම්භවය සම්පත් බෙදාගැනීම (CORS) යනු එකම ප්‍රභව ප්‍රතිපත්තිය (SOP) ලිහිල් කිරීමට නිර්මාණය කර ඇති බ්‍රවුසර යාන්ත්‍රණයකි. නවීන වෙබ් යෙදුම් සඳහා අවශ්‍ය වන අතර, අයථා ක්‍රියාත්මක කිරීම—ඉල්ලුම්කරුගේ මූලාරම්භ ශීර්ෂය ප්‍රතිරාවය කිරීම හෝ 'ශුන්‍ය' සම්භවය සුදු ලැයිස්තුගත කිරීම වැනි—ද්වේෂ සහගත වෙබ් අඩවිවලට පුද්ගලික පරිශීලක දත්ත උකහා ගැනීමට ඉඩ දිය හැක.

CWE-942

බලපෑම

ප්‍රහාරකයෙකුට අවදානමට ලක්විය හැකි යෙදුමක [S2] භාවිතා කරන්නන්ගෙන් සංවේදී, සත්‍යාපනය කළ දත්ත සොරකම් කළ හැක. අවදානමට ලක්විය හැකි යෙදුමට පුරනය වී සිටින විට පරිශීලකයෙකු අනිෂ්ට වෙබ් අඩවියකට පිවිසෙන්නේ නම්, අනිෂ්ට වෙබ් අඩවියට යෙදුමේ API වෙත හරස්-සම්භව ඉල්ලීම් කළ හැකි අතර [S1][S2] ප්‍රතිචාර කියවිය හැක. මෙය පරිශීලක පැතිකඩ, CSRF ටෝකන, හෝ පුද්ගලික පණිවිඩ [S2] ඇතුළු පුද්ගලික තොරතුරු සොරකම් කිරීමට හේතු විය හැක.

මූල හේතුව

CORS යනු සම්පත් [S1] පූරණය කිරීමට කුමන මූලාරම්භය (වසම්, යෝජනා ක්‍රමය, හෝ වරාය) සඳහා අවසර ලබා දෙන්නේද යන්න සඳහන් කිරීමට සේවාදායකයන්ට ඉඩ දෙන HTTP-ශීර්ෂ පදනම් වූ යාන්ත්‍රණයකි. සේවාදායකයක CORS ප්‍රතිපත්තිය ඉතා නම්‍යශීලී හෝ දුර්වල ලෙස ක්‍රියාත්මක වන විට සාමාන්‍යයෙන් දුර්වලතා ඇතිවේ [S2]:

  • පිළිබිඹු කරන ලද මූලාරම්භ ශීර්ෂය: සමහර සේවාදායකයන් සේවාලාභී ඉල්ලීමකින් Origin ශීර්ෂකය කියවා එය Access-Control-Allow-Origin (ACAO) ප්‍රතිචාර ශීර්ෂය [S2] වෙත නැවත ප්‍රතිරාවය කරයි. මෙය ඕනෑම වෙබ් අඩවියකට [S2] සම්පත් වෙත ප්‍රවේශ වීමට ඉඩ සලසයි.
  • වැරදි වින්‍යාසගත වයිල්ඩ්කාඩ්: * වයිල්ඩ්කාඩ් ඕනෑම සම්භවයක් සම්පතකට ප්‍රවේශ වීමට ඉඩ දෙන අතර, අක්තපත්‍ර අවශ්‍ය වන ඉල්ලීම් සඳහා (කුකීස් හෝ බලයලත් ශීර්ෂ වැනි) [S3] භාවිතා කළ නොහැක. [S2] ඉල්ලීම මත පදනම්ව ACAO ශීර්ෂකය ගතිකව ජනනය කිරීමෙන් සංවර්ධකයින් බොහෝ විට මෙය මඟ හැරීමට උත්සාහ කරයි.
  • සුදු ලේඛනගත කිරීම 'ශුන්‍ය': සමහර යෙදුම් null මූලාරම්භය සුදු ලැයිස්තුගත කරයි, එය යළි-යොමු කරන ලද ඉල්ලීම් හෝ දේශීය ගොනු මඟින් ක්‍රියාරම්භ කළ හැකි අතර, ප්‍රවේශය ලබා ගැනීම සඳහා ද්වේෂසහගත අඩවි null සම්භවයක් ලෙස වෙස්වළා ගැනීමට ඉඩ සලසයි. [S2][S3].
  • විග්‍රහ කිරීමේ දෝෂ: Origin ශීර්ෂය වලංගු කිරීමේදී regex හෝ string ගැළපීමේදී සිදුවන වැරදි ප්‍රහාරකයන්ට trusted-domain.com.attacker.com [S2] වැනි වසම් භාවිත කිරීමට ඉඩ දිය හැක.

CORS Cross-Site Request Forgery (CSRF) [S2] ට එරෙහිව ආරක්ෂාවක් නොවන බව සැලකිල්ලට ගැනීම වැදගත්ය.

කොන්ක්‍රීට් සවි කිරීම්

  • ස්ථිතික සුදු ලැයිස්තුවක් භාවිතා කරන්න: ඉල්ලීමේ Origin ශීර්ෂය [S2] වෙතින් Access-Control-Allow-Origin ශීර්ෂකය ගතිකව ජනනය කිරීමෙන් වළකින්න. ඒ වෙනුවට, [S3] විශ්වාසදායී වසම්වල දෘඪ කේත ලැයිස්තුවක් සමඟ ඉල්ලීමේ මූලාරම්භය සසඳන්න.
  • 'ශුන්‍ය' මූලාරම්භයෙන් වළකින්න: කිසිවිටෙක null ඔබේ අවසර ලත් මූලාරම්භයන් පිළිබඳ සුදු ලැයිස්තුවේ [S2] ඇතුළත් නොකරන්න.
  • අක්තපත්‍ර සීමා කරන්න: නිශ්චිත හරස් ප්‍රභව අන්තර්ක්‍රියාව සඳහා අත්‍යවශ්‍ය නම් පමණක් Access-Control-Allow-Credentials: true සකසන්න.
  • නිසි වලංගුකරණය භාවිතා කරන්න: ඔබ බහු මූලාරම්භ සඳහා සහය විය යුතු නම්, Origin ශීර්ෂය සඳහා වලංගුතා තර්කය ශක්තිමත් බව සහතික කර ගන්න සහ උපවසම් හෝ සමාන පෙනුමක් ඇති වසම් [S2] මග හැරිය නොහැක.

FixVibe ඒ සඳහා පරීක්ෂා කරන ආකාරය

FixVibe දැන් මෙය දොරටු සක්‍රිය පරීක්ෂාවක් ලෙස ඇතුළත් වේ. වසම් සත්‍යාපනයෙන් පසුව, active.cors විසින් කෘතිම ප්‍රහාරක සම්භවයක් සහිත එකම සම්භවයක් ඇති API ඉල්ලීම් යවන අතර CORS ප්‍රතිචාර ශීර්ෂ සමාලෝචන කරයි. එය අත්තනෝමතික මූලාරම්භයන්, වයිල්ඩ්කාඩ් අක්තපත්‍ර සහිත CORS, සහ පොදු නොවන API අන්ත ලක්ෂ්‍ය මත පුළුල් විවෘත CORS වාර්තා කරයි.