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-এর সবকিছুর অ্যাক্সেস পেয়ে যায়