FixVibe
Covered by FixVibehigh

Cross-Site Scripting (XSS) දුර්වලතා හඳුනා ගැනීම සහ වැළැක්වීම

Cross-Site Scripting (XSS) නිසි වලංගුකරණයකින් හෝ කේතනයකින් තොරව වෙබ් පිටුවක විශ්වාස නොකළ දත්ත ඇතුළත් කළ විට සිදුවේ. This allows attackers to execute malicious scripts in the victim's browser, leading to session hijacking, unauthorized actions, and sensitive data exposure.

CWE-79

බලපෑම

Cross-Site Scripting (XSS) අවදානමක් සාර්ථකව සූරාකන ප්‍රහාරකයෙකුට වින්දිත පරිශීලකයෙකු ලෙස පෙනී සිටීමට, පරිශීලකයාට කිරීමට අවසර දී ඇති ඕනෑම ක්‍රියාවක් කිරීමට සහ පරිශීලකයාගේ ඕනෑම දත්තයකට ප්‍රවේශ විය හැකිය. ගිණුම් පැහැර ගැනීම සඳහා සැසි කුකීස් සොරකම් කිරීම, ව්‍යාජ පෝරම හරහා පිවිසුම් අක්තපත්‍ර ග්‍රහණය කර ගැනීම හෝ අතථ්‍ය විකෘති කිරීම් [S1][S2] සිදු කිරීම මෙයට ඇතුළත් වේ. වින්දිතයාට පරිපාලන වරප්‍රසාද තිබේ නම්, ප්‍රහාරකයාට යෙදුම සහ එහි දත්ත [S1] පිළිබඳ පූර්ණ පාලනය ලබා ගත හැකිය.

මූල හේතුව

XSS හට සිදුවන්නේ යෙදුමකට පරිශීලක-පාලනය කළ හැකි ආදානයක් ලැබෙන විට සහ එය නිසි උදාසීන කිරීමකින් හෝ [S2] කේතනයකින් තොරව වෙබ් පිටුවක ඇතුළත් කළ විටය. මෙය වින්දිතයාගේ බ්‍රවුසරය මඟින් ආදානය සක්‍රිය අන්තර්ගතය (JavaScript) ලෙස අර්ථකථනය කිරීමට ඉඩ සලසයි, [S1][S2] වෙබ් අඩවි හුදකලා කිරීමට සැලසුම් කර ඇති එකම මූලාරම්භ ප්‍රතිපත්තිය මග හරියි.

අවදානම් වර්ග

  • පිළිබිඹු කරන ලද XSS: අනිෂ්ට ස්ක්‍රිප්ට් සාමාන්‍යයෙන් URL පරාමිතියක් වන [S1] හරහා වින්දිතයාගේ බ්‍රවුසරයට වෙබ් යෙදුමකින් පිළිබිඹු වේ.
  • ගබඩා කර ඇති XSS: ස්ක්‍රිප්ට් සේවාදායකයේ ස්ථිරව ගබඩා කර ඇත (උදා., දත්ත ගබඩාවක හෝ අදහස් දැක්වීමේ කොටසක) සහ පසුව පරිශීලකයින්ට [S1][S2] සේවය කරයි.
  • DOM-පාදක XSS: innerHTML innerHTML [S1] වෙත ලිවීම වැනි, විශ්වාස නොකළ මූලාශ්‍රයකින් දත්ත අනාරක්ෂිත ආකාරයකින් සකසන සේවාලාභී පාර්ශවීය කේතය තුළ අවදානම සම්පූර්ණයෙන්ම පවතී.

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

  • ප්‍රතිදානය පිළිබඳ දත්ත සංකේතනය කරන්න: පරිශීලක-පාලනය කළ හැකි දත්ත විදැහුම්කරණයට පෙර එය ආරක්ෂිත ආකෘතියකට පරිවර්තනය කරන්න. HTML ශරීරය සඳහා HTML ආයතන කේතනය සහ එම විශේෂිත සන්දර්භ සඳහා සුදුසු JavaScript හෝ CSS කේතනය භාවිතා කරන්න [S1][S2].
  • පැමිණීමේදී පෙරහන් ආදානය: අපේක්ෂිත ආදාන ආකෘති සඳහා දැඩි අවසර ලැයිස්තු ක්‍රියාත්මක කරන්න සහ [S1][S2] අනුකූල නොවන ඕනෑම දෙයක් ප්‍රතික්ෂේප කරන්න.
  • ආරක්ෂක ශීර්ෂ භාවිත කරන්න: JavaScript [S2] හරහා ප්‍රවේශ වීම වැළැක්වීමට සැසි කුකීස් මත HttpOnly ධජය සකසන්න. Content-Type සහ X-Content-Type-Options: nosniff භාවිතා කර බ්‍රවුසර විසින් ක්‍රියාත්මක කළ හැකි කේතය [S1] ලෙස ප්‍රතිචාර වැරදි ලෙස අර්ථකථනය නොකරන බව සහතික කර ගන්න.
  • අන්තර්ගත ආරක්ෂණ ප්‍රතිපත්තිය (CSP): ස්ක්‍රිප්ට් පූරණය කළ හැකි සහ ක්‍රියාත්මක කළ හැකි මූලාශ්‍ර සීමා කිරීමට ශක්තිමත් CSP යොදවන්න, ආරක්‍ෂාව-ගැඹුරු ස්ථරයක් සපයයි.

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

FixVibe ස්ථාපිත ස්කෑනිං ක්‍රමවේද මත පදනම් වූ බහු-ස්ථර ප්‍රවේශයක් හරහා XSS හඳුනාගත හැක [S1]:

  • නිෂ්ක්‍රීය ස්කෑන්: Content-Security-Policy හෝ X-Content-Type-Options වැනි නැතිවූ හෝ දුර්වල ආරක්ෂක ශීර්ෂ හඳුනාගැනීම XSS [S1]FIXVIBETOKEN2ZXCVFIXVIBETOKEN2.
  • ක්‍රියාකාරී පරීක්ෂණ: [S1] නිසි කේතීකරණයකින් තොරව ප්‍රතිචාර ශරීරය තුළ පිළිබිඹු වන්නේ දැයි තීරණය කිරීම සඳහා URL පරාමිති සහ ආකෘති ක්ෂේත්‍ර තුළට අනන්‍ය, අනිෂ්ට නොවන අක්ෂරාංක තන්තු එන්නත් කිරීම.
  • Repo ස්කෑන්: innerHTML, document.write, හෝ setTimeout වැනි, විශ්වාස නොකළ දත්ත අනාරක්ෂිත ලෙස හසුරුවන "සින්ක්" සඳහා සේවාලාභියා-පාර්ශ්වික JavaScript විශ්ලේෂණය කිරීම. XSS [S1].