OWASP Top Ten: A3 – Cross-Site Scripting (XSS)

von Dr. Martin Klein Hennig

In diesem Beitrag zu unserer Reihe zur OWASP Top Ten, den häufigsten Sicherheitslücken in Webapplikationen, wird das sogenannte Cross-Site-Scripting (kurz XSS) näher erläutert.

XSS bezeichnet eine Angriffsmethode, bei der eine Webapplikation Benutzereingaben wiedergibt, ohne diese zu überprüfen. Dadurch kann ein Angreifer Schadcode an den Browser eines Benutzers übermitteln, wobei es sich um JavaScript-Code handelt. JavaScript wird clientseitig, d.h. im Browser des Benutzers, interpretiert bzw. ausgeführt und häufig in interaktiven Webapplikationen verwendet. Im Prinzip handelt es sich daher um einen Injection-Angriff, wobei der injizierte Schadcode nicht vom Webserver, sondern vom Browser ausgeführt wird.

Mit dem in einer XSS-Attacke übermittelten Schadcode können z.B. sensible Cookies mit Session-Informationen ausgelesen oder auch Sicherheitslücken im Browser ausgenutzt werden, um auf das System des Benutzers vorzudringen.

XSS-Beispiel

Eine Webapplikation fordert den Benutzer zur Eingabe eines Namens und einer Adresse auf:

Diese Daten werden nach Abschicken des Formulars durch den Benutzer auf einer Website dargestellt. Der entsprechende HTML-Code kann z.B. so aussehen:

Ihre Daten:

Name: Erika Mustermann


Straße: Heidestr. 17


PLZ und Ort: 51147 Köln

Die Darstellung dieses Codes im Browser sieht folgendermaßen aus:

Ein potentieller Angreifer kann jetzt JavaScript-Code in diesem Formular unterbringen, in der Hoffnung, dass der entsprechende Schadcode nach dem Abschicken vom Browser des aufrufenden Benutzers ausgeführt wird:

Der Angreifer gibt dabei als Namen die Codezeile ein. Sofern die Webanwendung, welche die Kontaktdaten darstellt, für XSS verwundbar ist, würde der resultierende HTML-Code folgendermaßen aussehen:

Ihre Daten:

Name:


Straße: Heidestr ...

Zum vollständigen Artikel


Cookies helfen bei der Bereitstellung unserer Dienste. Durch die Nutzung erklären Sie sich mit der Cookie-Setzung einverstanden. Mehr OK