Cross-Site Scripting (XSS) erklärt — 2026
6. Juni 2001 · von Pentevo
Cross-Site Scripting (XSS) ist eine Web-Schwachstelle, bei der ein Angreifer sein Skript im Browser eines anderen Nutzers ausführen lässt – im Kontext einer vertrauenswürdigen Seite. Es ist ein langjähriger Eintrag in der Familie der OWASP Top 10. Hier ein verteidigungsorientierter Überblick.
Die Kernidee
Browser vertrauen dem Code, den eine Website ihnen sendet. Nimmt eine Seite Nutzereingaben und spiegelt sie ohne korrekte Kodierung in eine Seite zurück, kann ein Angreifer Markup oder Skript einschleusen, das der Browser des Opfers dann ausführt – als hätte die Seite es selbst verfasst. Das klassische Lehrbeispiel ist ein nicht escapetes <script>alert(1)</script>, das in einer Seite erscheint und zeigt, wie der Browser vom Angreifer kontrollierte Inhalte ausführt.
Die Lehre ist auch hier die Grundursache: nicht vertrauenswürdige Eingaben, die ohne Kodierung in eine Seite gerendert werden.
Die drei Typen
- Stored XSS – die bösartige Eingabe wird gespeichert (z. B. in einem Kommentar) und an alle ausgeliefert, die sie ansehen. Am gefährlichsten.
- Reflected XSS – die Eingabe wird sofort zurückgegeben (z. B. in einem Suchergebnis oder Fehler), meist über einen präparierten Link.
- DOM-based XSS – der Fehler liegt im clientseitigen JavaScript, das nicht vertrauenswürdige Daten in die Seite schreibt.
Warum es wichtig ist
Skript in der Sitzung eines Opfers auszuführen kann bedeuten: Session-Cookies stehlen, Konten übernehmen, Tastatureingaben aufzeichnen, Seiten verunstalten oder Nutzer umleiten – alles unter dem Namen der vertrauenswürdigen Seite.
Wie man es verhindert
- Output-Encoding – Daten für genau den Kontext kodieren, in den sie eingesetzt werden (HTML, Attribut, JavaScript, URL). Das ist die primäre Verteidigung.
- Frameworks nutzen, die automatisch escapen – React, Angular und andere kodieren standardmäßig; untergraben Sie das nicht mit rohen HTML-Injection-APIs.
- Content Security Policy (CSP) – eine starke zweite Schicht, die einschränkt, welche Skripte laufen dürfen.
- Rich-Input validieren und sanitisieren (z. B. mit einem vertrauenswürdigen HTML-Sanitizer), wenn Sie etwas Markup zulassen müssen.
- HttpOnly-Cookies – damit gestohlene Skripte Session-Cookies nicht so leicht auslesen können.
Wie es gefunden wird
Autorisierte Tester prüfen, ob Eingaben ohne Kodierung zurückgespiegelt werden, mit Tools wie Burp Suite – stets innerhalb des Scopes, um zu beheben, bevor Angreifer es ausnutzen. Siehe Was ist Penetrationstesting? und SQL Injection erklärt für die verwandte Injection-Klasse.
Web-Sicherheit praxisnah lernen? Die kostenlose Pentevo Academy deckt sie von Anfang bis Ende ab.
Häufig gestellte Fragen
Was ist Cross-Site Scripting (XSS)?
XSS ist eine Web-Schwachstelle, bei der ein Angreifer sein eigenes Skript im Browser eines anderen Nutzers ausführen lässt – im Kontext einer vertrauenswürdigen Seite. Die Ursache ist immer dieselbe: nicht vertrauenswürdige Eingaben, die ohne korrekte Kodierung in eine Seite gerendert werden. Der Browser hält den eingeschleusten Code dann für legitimen Code der Website.
Welche Arten von XSS gibt es?
Es gibt drei Haupttypen. Bei Stored XSS wird die bösartige Eingabe gespeichert und an alle Betrachter ausgeliefert – die gefährlichste Variante. Bei Reflected XSS wird die Eingabe sofort zurückgespiegelt, meist über einen präparierten Link. Bei DOM-based XSS liegt der Fehler im clientseitigen JavaScript, das nicht vertrauenswürdige Daten in die Seite schreibt.
Wie verhindert man XSS?
Die primäre Verteidigung ist Output-Encoding: Daten für genau den Kontext kodieren, in den sie eingesetzt werden. Nutzen Sie zusätzlich Frameworks, die automatisch escapen, eine Content Security Policy als zweite Schicht, das Sanitisieren von Rich-Input mit einem vertrauenswürdigen Sanitizer sowie HttpOnly-Cookies, damit gestohlene Skripte Session-Cookies nicht so leicht auslesen können.
Warum ist XSS gefährlich?
Skript in der Sitzung eines Opfers auszuführen kann bedeuten, Session-Cookies zu stehlen, Konten zu übernehmen, Tastatureingaben aufzuzeichnen, Seiten zu verunstalten oder Nutzer umzuleiten – alles unter dem Namen der vertrauenswürdigen Seite. Deshalb zählt XSS seit Langem zu den ernstesten Web-Schwachstellen.
Weiterführende Artikel
VPN erklärt: Was es leistet (und was nicht) — 2026
Wie ein VPN wirklich funktioniert, wovor es schützt, wovor nicht und wie man eines auswählt – ohne Marketing-Hype.
FundamentalsWas ist ein Penetrationstest? Ein Leitfaden für Einsteiger (2026)
Ein verständlicher Leitfaden zum Penetrationstest: was er ist, die fünf Phasen, die wichtigsten Arten und wie er sich vom Schwachstellenscan unterscheidet.
FundamentalsZero-Day-Schwachstellen erklärt (2026)
Was eine Zero-Day-Schwachstelle ist, warum sie so gefährlich ist, wie Zero-Day-Exploits eingesetzt werden und was Verteidiger gegen das Unbekannte tun können.
FundamentalsWas ist ein CVE? Schwachstellen-IDs verstehen (2026)
Was CVE bedeutet, wie die Nummerierung funktioniert, wie CVSS-Schweregrad und EPSS-Werte bei der Priorisierung helfen und wie Sie die relevanten CVEs verfolgen.
Praktisch anwenden
Die Pentevo Academy macht aus diesen Konzepten geführte Lektionen, Videos und Quizze — kostenlos.
Kostenlos lernen