Cross-Site-Scripting-Prävention
Definition
XSS-Prävention verhindert mit sicheren APIs, kontextgerechter Kodierung und gezielter Bereinigung, dass fremde Daten im Browser zu aktivem Code werden.
Zentrale Kontrollen sind sichere Template- und DOM-APIs, kontextgerechte Ausgabekodierung und bei ausdrücklich erlaubtem HTML eine gepflegte Bereinigung. Content Security Policy und Trusted Types ergänzen diese Kontrollen als zusätzliche Schutzschichten, ersetzen sie aber nicht.
Einfach erklärt
Die Webseite behandelt fremde Eingaben wie Text auf einem Zettel und nicht wie Befehle, die sie ausführen soll.
Warum das im Alltag wichtig ist
Wirksame XSS-Prävention schützt Konten, Sitzungen und vertrauliche Daten und senkt zugleich Aufwand für Sicherheitsvorfälle und nachträgliche Reparaturen.
Beispiel aus dem Mittelstand
Ein CMS kodiert normalen Text, bereinigt freigegebenes Rich-Text-HTML mit einer gepflegten Bibliothek, vermeidet unsichere DOM-Senken, erzwingt eine restriktive CSP und prüft alle Regeln mit Regressionstests.
Grenzen und Fallstricke
- CSP oder Trusted Types als alleinigen Schutz behandeln; denselben Encoder für HTML-, Attribut-, URL- und JavaScript-Kontexte verwenden; innerHTML mit nicht vertrauenswürdigen Daten einsetzen; bereinigtes HTML nachträglich verändern; Escape-Hatches und veraltete Bibliotheken übersehen.
Entstehung & Geschichte
Web-Sicherheitsleitlinien entwickelten sich von einfachen Eingabefiltern zu kontextabhängiger Ausgabekodierung, sichereren DOM-Schnittstellen und Browserrichtlinien. CSP begrenzt ausführbare Quellen; Trusted Types kontrolliert in unterstützten Browsern gefährliche DOM-Senken.
Anwendung im Mittelstand
- Unternehmen sollten XSS-Schutz in Komponentenbibliotheken, Entwicklungsrichtlinien, Code-Reviews, Abnahmetests und Patch-Prozesse einbauen. Wiederverwendbare sichere Templates sind für kleine Teams wirksamer als Einzelfallkorrekturen.
Häufige Fragen
Reicht Eingabevalidierung aus?
Nein, entscheidend ist die sichere Ausgabe im jeweiligen Kontext. Reicht CSP allein? Nein, sie ist eine zusätzliche Schutzschicht. Wann ist HTML-Bereinigung nötig? Wenn Benutzer tatsächlich HTML eingeben dürfen.
Quellen
- Cross Site Scripting Prevention Cheat Sheet · OWASP, Cross Site Scripting Prevention Cheat Sheet
- Trusted Types · W3C, Trusted Types
Redaktionell geprüft am: