G 5.170 Cross-Site Scripting (XSS)

Cross-Site Scripting-Angriffe (XSS-Angriffe) richten sich gegen die Benutzer einer Webanwendung und deren Clients. Hierbei versucht ein Angreifer indirekt Schadcode (in der Regel Browser-seitig ausführbare Skripte, wie z. B. JavaScript) an den Client des Benutzers der Webanwendung zu senden.

Werden die Ein- und Ausgaben von einer Webanwendung nicht ausreichend validiert, so kann ein Angreifer schadhaften Code in die Webanwendung einschleusen (z. B. innerhalb eines Kommentars zu einem Artikel) und so verteilen. Wird eine infizierte Webseite von einem Benutzer aufgerufen, führt der Client (z. B. Browser) den eingefügten Schadcode aus. Aus Sicht des Benutzers stammt der schadhafte Code von der Webanwendung und wird somit als vertrauenswürdig eingestuft. Daher wird der Schadcode im Sicherheitskontext der Webanwendung interpretiert und es ist dem Angreifer möglich, Befehle im Kontext einer möglicherweise bestehenden Sitzung des betroffenen Benutzers auszuführen.

Es werden drei Klassen von XSS-Angriffen unterschieden:

Die folgenden Beispiele verdeutlichen die Unterschiede der Angriffsklassen: