Foundationপ্রথম নীতি থেকে
LEVEL 10 · Computer Security

XSS

এক্সএসএস

Cross-Site Scripting — untrusted input browser-এর script context-এ escape হয়ে গিয়ে victim-এর browser-এ attacker-এর code চালায়।

also: cross-site-scripting

stored   : payload DB-তে persist, প্রতি visitor-এ serve হয়
reflected: payload একই response-এ সরাসরি bounce ফিরে আসে (যেমন echo হওয়া query param)
DOM-based: শুধু client-side JS unsafely innerHTML-এ untrusted data বসায়, server-round-trip লাগে না
  • Root cause SQL injection-এর মতোই: untrusted data output-context-এ escape না করে বসানো — browser বুঝতে পারে না কোনটা trusted markup, কোনটা injected
  • Fix: context-aware output encoding (HTML-entity-encode করে বসানো), Content- Security-Policy backstop হিসেবে script source সীমাবদ্ধ করা
  • Same-origin policy-ই সেই boundary যা XSS defeat করে — script execute হয়ে গেলে সেই origin-এর সবকিছুর অ্যাক্সেস পেয়ে যায়