
Eine Cross Site Scripting Chat-Nachricht kann Dich ohne einen Klick auf einen Link infizieren! Jederzeit!
Wie geht das? Was ist eigentlich Cross Site Scripting (XSS)?
Ich erkläre Dir, was Cross-Site-Scripting ist und wie Du Dich davor absicherst.
Beginnen wir!
Inhalt
Was ist Cross Site Scripting?
Ein Angreifer fügt beim Cross Site Scripting (XSS) eine Script-Datei in eine vertrauenswürdige Webseite ein, welche die Opfer aufrufen. Wenn die Opfer die Webseite aufrufen, infiziert das Script die Computer der Opfer automatisch.
Beispiel 1: Der Angreifer sendet dem Opfer via Chat den Inhalt eine JavaScript-Datei. Falls der Chat gegen Cross Site Scripting nicht geschützt ist, erhält der Empfänger nicht das Code-Snippet, sondern muss die Auswirkungen der Script ertragen (viele Warnungen azigen , Weiterleitung auf nicht-nette Webseiten, Cryptomining).
Beispiel 2: Wenn Angreifer in ein ungeschütztes Forum seine JavaScript-Datei hochlädt, dann führt sich der JavaScript-Code bei jedem Benutzer des Forums aus.
Knappe Einordnung
Das“Cross-Site-Scripting“ (XSS) ist webseitenübergreifendes Skripting wie z. B. Refleted XSS und DOM-Based. Diese Art von Hacking kann man in die HTML-Injection einordnen. Oft finden die Angriffe mit der Nutzung von JavaScript statt.
Steffen Lippke
Mit JavaScript können die Hacker über den Browser Kamera, Mikrofone, Dateisystem und Standort-Sensor ansteuern. Die HTML 6 API ermöglicht diesen Zugriff mit JavaScript.
Weitere Arten: Cross-Site Request Forgery und Cross-Site Authentication
DAS. Sagen die Medien.
Hacker nutzen XSS, um Backlinks zu erstellen.
Ungeschützte Kommentarfelder und Formulare missbraucht das Script, um diese zu füllen und abzusenden. Der generierte Backlink hilft den Angreifer dabei seine Webseiten in Google höher ranken zu lassen.
Google bewertet diese Technik der Backlink-Setzung als negativ und rankt die Webseite herunter. XSS eine Black-Hat-Methode, um Backlinks zu setzen.
Grundlagen: So geht man mit XSS vor
IT einfach erklärt
XSS gibt es in drei verschiedenen Arten, wie es Hacker heutzutage nutzen: reflektierend, persistent und lokal
- Reflektierend: Bei dem reflektierenden XSS sendet der Angreifer eine Mail zu den Opfern und der Klick auf den Link startet den Schadcode automatisch. Diese Form ist eine Client-seitige Implementierung.
- Persistent: Diese XSS-Form leigt auf der Seite des Servers. Der Hacker speichert das Script in eine SQL-Datenbank durch Formular- oder Kommentar-Felder.
- Lokal / DOM-basiert: Für diese Methode braucht der Hacker keine Einfügungen auf einer Webseite zu machen. Über einen gefälschten GET-Parameter in die URL fügt der Hacker JavaScript ein. Wenn man noch die URL kürzen lässt, erkennt der Nutzer nicht, dass es sich um einen sehr langen Link mit eingefügten JavaScript Code handelt.

Hack IT: Kommentare und Formulare
Blick in den Code
Cross Site Scripting / XSS kann der Angreifer nicht nur in <script> Tags schreiben, sondern der Code führt sich in den folgenden Tags aus:
- body: HTML-Haupttext
- input: Eingabefelder
- link: Ressourcen
- img: Bilder
- …
Mit dem Aufruf der Webseite laden die DOM-Objekte mit den verlinkten Ressourcen.
ATTACKE! – XSS auf Webseiten
Der Hacker kann beispielsweise in ein Kommentarfeld eines Blogs eine Script-Datei einfügen, die in der SQL-Tabelle der Webseite abgespeichert wird. Die erstellten Kommentare zeigt die Webseite unterhalb des Posts kompiliert an.

Im Browser des Seitenbesuchers führt sich das Schad-JavaScript aus und kann aktiv werden.
Und WordPress ist aber schon schlauer:


Sicherung: PHP-Bollwerk gegen XSS
Sicherungsmaßnahme
Wenn der Browser-Nutzer sich gegen XSS schützen möchte, müsste er JavaScript und alle Flash-Sprachen standardmäßig deaktivieren. Diese Strategie schützt 100 % vor XSS-Agriffen.
Aber:
Im Web 3.0 sind Cookies, Sessions und Logs eine Selbstverständlichkeit. Der Nutzer müsste bei Deaktivierung von JavaScript auf vieles Verzichten: Weder in Amazon kann der vorsichtige Nutzer etwas kaufen, noch kann er auf Netflix eine Serie schauen. Viele Webseiten zeigen sich nicht mehr ohne JavaScript.
Web Apps und PWAs basieren zum großen Teil auf JavaScript. Diese Sprache ist eine der beliebtesten überhaupt im Web, da viele Entwickler diese Scriptsprache beherrschen.
Das No-Script Plugin zwingt Firefox allen JavaScript-Codes zu ignorieren und nicht auszuführen.
Bei XSS Attacken sind nicht die Nutzer in der Pflicht, sondern die Webseitenbetreiber. Sie müssen dafür Sorge tragen, dass die Hacker nicht so einfach in ihren Kommentarfeldern JavaScript einbetten können. Die Hoster sollte Googles reCAPTCHA Codes nutzen, sodass ein Web-Bot nicht alle Strategien testen kann, mit der der Hacking-Bot JavaScript auf die Webseite ausführen kann.
Extra-Sicherheit: Bollwerk gegen XSS
Um XSS zu erkennen, sollte der Webprogrammierer alle PHP-Scripte überpüfen, ob …
- … die Eingabe ungewöhnlich lange ist.
- … JavaScript typische Syntax erscheint.
- … eine Web-Ressource aufgerufen wird.
PHP stellt einige Funktionen zu Verfügung, die vermeiden, dass schädlicher Code in Deine Datenbanken gerät. Mit PHP kannst Du einfach mit strip_tags()
alle Tags löschen. Alle HTML-Sonderzeichen wandelt die PHP-Funktion htmlentities()
um in einen UTF-8 Texte, der als gedruckten Code im Browser erscheint.
Außerdem kannst Du nutzen:
- Black- / Whitelisting
- Bei WordPress alle Kommentare moderieren.
Credits
Icons made by Gregor Cresnar from www.flaticon.com is licensed by CC 3.0 BY – Icons made by dDara from www.flaticon.com is licensed by CC 3.0 BY – Icons made by Icomoon from www.flaticon.com is licensed by CC 3.0 BY -Icons made by Those Icons from www.flaticon.com is licensed by CC 3.0 BY – Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY – Icons made by srip from www.flaticon.com is licensed by CC 3.0 BY