Cross-Site Scripting (XSS)

Was ist Cross-Site Scripting (XSS)?

Cross-Site Scripting (XSS) ist ein bekanntes Sicherheitsproblem bei Webanwendungen. Es findet sich regelmäßig in der OWASP Top 10, eine Liste häufig vorkommender Sicherheitsschwachstellen von Webanwendungen, die von der Non-Profit-Organisation Open Web Application Security Projects herausgegeben wird.

Beschreibung

Cross-Site Scripting (XSS) ist eine Angriffsart, mit der Benutzer einer Website gefährdet werden können. Ziel ist es meist, sensible Daten des Benutzers zu erlangen, um beispielsweise sein Benutzerkonto zu übernehmen. Die Ausnutzung eines XSS-Fehlers ermöglicht es dem Angreifer, clientseitig bösartige Skripte in Webseiten einzufügen, die von Benutzern angesehen werden. Cross-Site Scripting (XSS) kann z. B. in JavaScript und VBScript auftreten.

Cross-Site-Scripting geschieht, wenn eine Webanwendung von einem Nutzer Daten annimmt und diese ohne Überprüfung des Inhalts an einen Browser weitersendet. Dadurch ist es einem Angreifer möglich, Skripte an den Browser des Opfers zu senden und schädlichen Code auf der Webseite dieses Nutzers auszuführen.

Ein Beispiel ist die Übergabe von Parametern an ein Skript auf Serverseite, das eine dynamische Webseite erzeugt. Dies kann ein Eingabeformular sein, wie in Webshops, Blogs und Wikis üblich. Die eingegebenen Daten werden auf der Webseite als Seiteninhalt ausgegeben, sobald die Seite von einem Nutzer aufgerufen wird. Dadurch ist es möglich, manipulierte Daten an Nutzer zu senden, solange das Serverskript dies nicht verhindert.

Auswirkungen

Typische Angriffsarten sind das Entführen von Benutzer-Sessions und Phishing-Angriffe. Angreifer können mit Cross-Site Scripting (XSS) alle Cookies lesen, die nicht durch das HttpOnly-Attribut geschützt sind, einschließlich Sitzungscookies. Auf diese Weise könnte ein Angreifer die Sitzung übernehmen. Ein Angreifer kann ferner Seiteninhalte für den Nutzer manipulieren. Er kann ferner alles tun, was der angemeldete Nutzer tun könnte. Dazu kann auch Zugriff auf die Webcam, das Mikrofon oder den Standort des Benutzers gehören. Im Falle eines Administrators als Nutzer übernimmt der Angreifer dessen Rechte.

Vermeidung

Potenziell gefährlicher Code muss erkannt und abgewiesen werden. Wie dies geschieht, hängt vom jeweiligen Kontext ab. Anwendungen sollten im Hinblick auf das Risiko von XSS entwickelt werden, um so wenig Schaden wie möglich dadurch zu ermöglichen. Zwei der bekanntesten Methoden hierfür sind der HttpOnly-Parameter für Cookies, der den Zugriff auf Cookies durch JavaScript verhindert, und das Sicherheitskonzept Content Security Policy (CSP).


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte