Cross-Site Scripting (XSS) er en klasse af injection-sårbarheder, hvor en angriber formår at indsætte og eksekvere JavaScript i en anden brugers browser inden for din origins kontekst. De tre almindelige varianter er reflected, stored og DOM-based XSS, alle med rod i, at utroværdige data behandles som kode.
Hvorfor det er vigtigt
Når et script kører i din origin, kan det læse cookies (medmindre de er markeret HttpOnly), eksfiltrere session tokens, udføre handlinger som offeret, ændre sidens udseende eller pivotere til yderligere angreb. XSS ligger rutinemæssigt i OWASP Top 10, fordi det er udbredt og har høj påvirkning: et enkelt sårbart inputfelt kan kompromittere hver eneste logget bruger, der ser den berørte side.
Sådan fikser du det
- Behandl alt brugerinput som utroværdigt; enkod ved output baseret på kontekst (HTML body, attribut, JS, URL, CSS).
- Foretræk framework-native escaping (Vue, React, Angular) frem for manuel string-sammensætning.
- Undgå farlige sinks som
innerHTML,document.writeogevalmed utroværdige data; brugtextContenteller sanitizers som DOMPurify. - Udrull en streng CSP med nonces eller hashes for at blokere injicerede inline scripts.
- Sæt cookies som
HttpOnly,SecureogSameSite, og server alt over HTTPS. - Gennemgå relaterede risici som CSRF og SQL injection; se OWASP XSS Prevention Cheat Sheet for aktuel vejledning.