XSS

XSS (Cross-Site Scripting) ist eine Sicherheitslücke, bei der Angreifer schädlichen Code in eine an sich vertrauenswürdige Website einschleusen, der dann im Browser anderer Nutzer ausgeführt wird.

Kurz erklärt

XSS entsteht, wenn eine Website Nutzereingaben ungeprüft in eine Seite einbindet, die anderen Nutzern angezeigt wird. Gelingt es einem Angreifer, eigenen JavaScript-Code in diese Eingabe einzuschleusen, wird dieser Code im Browser der betroffenen Nutzer mit deren Rechten ausgeführt - etwa um Session-Cookies auszulesen, Formulare zu manipulieren oder Nutzer auf gefälschte Seiten umzuleiten.

Beispiel

Ein Kommentarfeld auf einer Website speichert Nutzereingaben ungefiltert und zeigt sie später anderen Besuchern an. Gibt ein Angreifer statt eines normalen Kommentars ein Skript-Tag mit schädlichem JavaScript-Code ein, wird dieser Code bei jedem Besucher ausgeführt, der den Kommentar betrachtet.

Warum ist das relevant?

XSS zählt seit Jahren zu den häufigsten und am meisten ausgenutzten Sicherheitslücken im Web und steht regelmäßig in den vordersten Rängen der OWASP-Top-10-Liste kritischer Web-Schwachstellen. Für Website-Betreiber bedeutet ein erfolgreicher XSS-Angriff potenziell den Diebstahl von Nutzerkonten, Datenverlust und erheblichen Reputationsschaden.

Häufige Missverständnisse

XSS wird häufig mit SQL-Injection verwechselt - SQL-Injection zielt auf die Datenbank eines Servers, XSS hingegen auf den Browser anderer Nutzer. Auch reicht serverseitige Validierung von Eingaben allein oft nicht aus: Ausgaben müssen zusätzlich beim Anzeigen im Browser korrekt kodiert (escaped) werden, da schädlicher Code auch über scheinbar harmlose Umwege wie URL-Parameter eingeschleust werden kann.

Weiterführende Inhalte