Definition Cross Site Scripting (XSS) Was ist Cross-Site-Scripting (XSS)?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz

Cross Site Scripting (XSS) ist eine der am häufigsten genutzten Angriffsmethode im Internet. Ziel des webseitenübergreifenden Skriptings ist es, an vertrauliche Daten zu gelangen, Anwendungen zu übernehmen oder sonstigen Schaden anzurichten. XSS bettet den Angriffscode in einen vermeintlich sicheren Kontext ein.

Anbieter zum Thema

Cross Site Scripting (XSS) ist eine häufig verwendete Angriffsmethode im Internet, bei der Schadcode in eine vermeintlich vertrauenswürdige Webseite eingeschleust wird.
Cross Site Scripting (XSS) ist eine häufig verwendete Angriffsmethode im Internet, bei der Schadcode in eine vermeintlich vertrauenswürdige Webseite eingeschleust wird.
(Bild: Pixabay / CC0 )

Die Abkürzung XSS steht für Cross Site Scripting und bezeichnet eine der häufigsten Angriffsmethoden im Internet. Durch eine Sicherheitslücke auf dem Client oder den Server gelingt es dem Angreifer, seinen Schadcode in eine vermeintlich vertrauenswürdige Umgebung einzubetten. Mit XSS lassen sich Internetseiten verändern, Browser übernehmen oder vertrauliche Informationen wie Passwörter entwenden.

Cross Site Scripting zählt zu den aktiven Angriffsmethoden und kann als Grundlage für weitere Angriffe verwendet werden. Die Angriffsmethode nutzt die im Internet weit verbreiteten Skriptsprachen wie JavaScript. XSS kann erfolgreich sein, wenn die Webanwendung die entgegengenommenen Daten nicht ausreichend prüft und sie anschließend weiterverarbeitet oder weiterreicht. So lassen sich Skripte an einen Webserver oder an einen Browser senden, der diese ausführt. Cross Site Scripting unterscheidet drei verschiedene Angriffsarten. Diese sind:

  • reflektiertes XSS
  • persistentes XSS
  • lokales XSS

Reflektiertes Cross Site Scripting

Reflektiertes Cross Site Scripting läuft serverseitig ab. Ein Opfer klickt eine präparierte URL an, in der schädlicher Code eingefügt ist. Der Server übernimmt diesen Code aufgrund mangelnder Absicherung und generiert eine dynamisch veränderte Webseite. Der Anwender sieht eine vom Angreifer manipulierte Webseite und hält sie für vertrauenswürdig. Von ihm gemachte Eingaben lassen sich anschließend beispielsweise an einen Server des Angreifers weiterleiten.

Reflektiertes Cross Site Scripting lässt sich sehr gut für Phishing-Angriffe verwenden. Da der Nutzer die durch XSS veränderten Webseiten für echt hält, hegt er keinen Verdacht und gibt vertrauliche Anmeldedaten ein, die der Angreifer erhält.

Persistentes Cross Site Scripting

Beim persistenten XSS ist ebenfalls eine Sicherheitslücke auf dem Server der Ausgangspunkt des Angriffs. Der Angreifer übergibt den Schadcode durch das Aufrufen eines manipulierten Links an den Server. Dieser speichert anschließend die Veränderungen dauerhaft (persistent) in seiner Datenbank. Der Anwender selbst muss keinen manipulierten Link aufrufen. Durch die Veränderung der Datenbank des Webservers können allen Besuchern beim Aufruf des regulären Links manipulierte Seiten angezeigt werden.

Oft nutzen Angreifer ungenügend geschützte Foren auf dem Webserver, um ihren Code zu übermitteln. Ein einfacher Foreneintrag mit dem schädlichen Skriptcode kann schon ausreichend sein. Anschließend kann der manipulierte Webserver dazu verwendet werden, Zugangsdaten von Anwendern abzugreifen.

Lokales Cross Site Scripting

Für lokales XSS ist keine Sicherheitslücke auf einem Webserver erforderlich. Der Schadcode wird direkt an den Anwender gesendet und beispielsweise im Browser ausgeführt, ohne dass der User dies bemerkt. Ausgangspunkt des Angriffs ist das Anklicken eines manipulierten Links durch den Anwender. Aufgrund des im Browser platzierten Scripts, lassen sich auch statische Webseiten in veränderter Form auf dem Clientrechner anzeigen. Besitzt der Browser besondere Rechte auf dem Rechner, ist es zudem möglich, lokale Daten auf dem Gerät zu verändern.

Ein möglicher Angriff per lokalem Cross Site Scripting kann folgendermaßen ablaufen. Ein Anwender bekommt per Mail einen manipulierten Link geschickt und klickt diesen an. Durch das Öffnen des Links integriert der Browser ein clientseitiges JavaScript, das die schädliche Anwendung startet.

Schutzmaßnahmen gegen XSS

Clientseitig kann man sich gegen lokales Cross Site Scripting schützen, indem man dem Browser verbietet, Skripte wie JavaScript auszuführen. Zudem sind Addons für Browser erhältlich, die die Ausführung von Skripten unterbinden. Grundsätzlich ist es wichtig, per E-Mail empfangene Links kritisch zu prüfen und nicht beliebig aufzurufen. Webmaster schützen ihre Server vor reflektiertem oder persistentem Cross Site Scripting durch Absicherung des Server-Quellcodes. Sämtliche vom Server zu verarbeitenden Daten sind vor der Ausführung zu prüfen. Hierfür lassen sich Whitelists mit den erlaubten Daten einsetzen. Auch das generelle Umwandeln von bestimmten Skript-Zeichen ist eine beliebte Methode. Dies verhindert, dass ausführbare Metazeichen der Skripte vom Server eingelesen werden.

(ID:45208724)