Die Seite ist vertrauenswürdig; alles, was auf ihr landet, erbt dieses Vertrauen. Wenn ein Kommentar, ein Profilfeld oder ein URL-Parameter unescaped im HTML landet, läuft das Skript des Angreifers im Browser jedes Besuchers — liest Session-Tokens, loggt Tasten, handelt als der Nutzer. Stored, Reflected und DOM-basiert sind die drei Formen.
Die Verteidigung ist Escaping als Standard — jedes Framework-Templating macht es, solange man es nicht ausschaltet — plus eine Content Security Policy als zweite Schicht. Wenn Nutzerinhalte jemals das DOM roh berühren können, werden sie es irgendwann.
Verwandte Begriffe
CSRF
Cross-Site Request Forgery — einen eingeloggten Browser dazu bringen, eine Anfrage zu senden, die der Nutzer nie wollte, auf dessen Cookies reitend.
Content Security Policy (CSP)
Ein Header, der whitelisted, woher Skripte, Styles, Bilder und Verbindungen einer Seite kommen dürfen — die zweite Mauer, die XSS stoppt, selbst wenn die Injection gelang.
OWASP Top 10
Die seit Langem etablierte Community-Liste der kritischsten Sicherheitsrisiken von Webanwendungen, alle paar Jahre überarbeitet.
Die zugehörige Werkbank
CybersecurityPurple Team: dieselbe Person schreibt den Exploit und schließt die Lücke. Die meisten Agenturen härten nur, also gegen eine Bedrohung, die niemand getestet hat.
