Digital-Lexikon · Sicherheit

Was ist Cross-Site-Scripting (XSS)?

Kurz erklärt

Cross-Site-Scripting (XSS) ist eine Angriffsart, bei der Angreifer Schadcode, meist JavaScript, in eine Webseite einschleusen. Der Code läuft dann im Browser fremder Besucher und kann Sitzungen übernehmen, Eingaben mitlesen oder Inhalte fälschen, weil der Browser ihn für einen Teil der echten Website hält.

Kategorie SicherheitLesezeit ca. 3 Min.Stand 16. Oktober 2026
Beitragsbild: Cross-Site-Scripting (XSS)

XSS: Definition und Ursache

Eine Website wird verwundbar, wenn sie Eingaben von Nutzern ungeprüft in ihre Seiten einbaut – etwa Kommentare, Suchbegriffe oder Profilangaben. Enthält die Eingabe Skriptcode, führt der Browser des nächsten Besuchers ihn aus, als gehöre er zur Seite. Damit gelten für den Code dieselben Rechte wie für den legitimen Seitencode.

XSS gehört seit Jahren zu den häufigsten Schwachstellen von Webanwendungen und wird in den OWASP Top 10 der Kategorie Injection zugerechnet. Anders als bei SQL-Injection ist nicht der Server das unmittelbare Ziel, sondern die Besucher und Administratoren der Website.

Die drei Arten von XSS

Beim gespeicherten (stored) XSS wird der Schadcode dauerhaft abgelegt, etwa in einem Kommentar, und trifft jeden, der die Seite aufruft. Beim reflektierten (reflected) XSS steckt er in einem präparierten Link, der zum Beispiel per Phishing-Mail verschickt wird. Beim DOM-basierten XSS entsteht die Lücke erst durch JavaScript im Browser, das Daten unsicher in die Seite schreibt.

  • Übernahme von Sitzungen und Benutzerkonten
  • Mitlesen von Eingaben, etwa Passwörtern oder Zahlungsdaten
  • Einblenden gefälschter Formulare auf der echten Seite
  • Weiterleitung auf Schadseiten
  • Angriffe auf Administratoren über das Backend

Praxis­bei­spiel: Die Bewertung im Online­shop

Ein Onlineshop erlaubt Produktbewertungen und gibt den Text ungefiltert wieder. Ein Angreifer hinterlegt statt einer Bewertung ein kleines Skript. Öffnet später ein Shop-Administrator die Bewertung im Backend, könnte das Skript dessen Sitzungsschlüssel abgreifen und dem Angreifer den Zugang zur Verwaltung verschaffen.

Der Shop schützt sich, indem er Ausgaben je nach Kontext kodiert, sodass Skripte nur als Text erscheinen, Sitzungs-Cookies mit den Attributen HttpOnly und SameSite absichert und eine Content Security Policy (CSP) einsetzt, die nur erlaubte Skriptquellen zulässt. Das Backend bereinigt Bewertungen zusätzlich vor der Anzeige.

Schutz, Grenzen und Umsetzung

Wichtigste Maßnahme ist die kontextgerechte Ausgabekodierung: Daten werden vor der Anzeige so maskiert, dass der Browser sie als Text und nicht als Code behandelt. Moderne Frameworks wie React tun das standardmäßig, solange Entwickler es nicht gezielt umgehen. Die CSP begrenzt den Schaden, wenn doch etwas durchrutscht; erlaubtes HTML, etwa aus Texteditoren, wird mit geprüften Bibliotheken bereinigt.

Nano Concepts prüft Webanwendungen und Shops auf XSS, behebt Lücken im Code und in Plugins und richtet sicherheitsrelevante HTTP-Header wie die Content Security Policy ein. Bei neuen Projekten achten wir von Anfang an darauf, dass Nutzereingaben nie ungeprüft in Seiten gelangen.

  • Eingaben ungeprüft in Seiten ausgeben, vor allem in Kommentaren und Suchfeldern
  • innerHTML oder vergleichbare Funktionen mit Nutzerdaten verwenden
  • Nur auf Eingabefilter statt auf Ausgabekodierung setzen
  • Drittanbieter-Skripte und Plugins ohne Prüfung einbinden
  • Keine Content Security Policy und keine abgesicherten Cookies

Häufige Fragen zu Cross-Site-Scripting (XSS)

Bei SQL-Injection wird die Datenbank des Servers manipuliert, bei XSS läuft Schadcode im Browser der Besucher. Beide entstehen, wenn Eingaben ungeprüft weiterverwendet werden, und gehören zur Kategorie Injection. Die Gegenmaßnahmen unterscheiden sich: parametrisierte Abfragen dort, Ausgabekodierung hier.

Das hängt vom Ort der Lücke ab. Trifft sie Administratoren oder angemeldete Kunden, kann Schadcode Sitzungen übernehmen oder Eingaben mitlesen. Auch bei Seiten ohne Login kann sie Besucher auf Schadseiten leiten oder gefälschte Formulare einblenden. Das Risiko ist real und gut vermeidbar.

Durch kontextgerechte Ausgabekodierung, geprüfte Frameworks, bereinigtes HTML aus Editoren, Cookies mit HttpOnly und SameSite sowie eine Content Security Policy. Zusätzlich helfen Updates von CMS und Plugins und regelmäßige Sicherheitstests, bevor Angreifer Schwachstellen finden.

Eine Content Security Policy (CSP) ist eine HTTP-Regel, die dem Browser mitteilt, aus welchen Quellen Skripte, Bilder und andere Inhalte geladen werden dürfen. Sie begrenzt den Schaden von XSS, weil eingeschleuste Skripte aus nicht erlaubten Quellen blockiert werden.

Passende Leistungen

Verwandte Begriffe

Relevant für diese Branchen

Passende Magazin-Beiträge

In 60 Sekunden zum passenden Angebot

Bedarfsanalyse: Cross-Site-Scripting (XSS)

Beantworten Sie ein paar kurze Fragen – wir melden uns in der Regel innerhalb von 24 Stunden mit einer ersten Einschätzung.

Projekt anfragen