Cross Site Scripting Beispiel + XSS Tutorial Erklärung

XSS Steffen Lippke Hacking Series

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!

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.
Lokales XSS ist auch verherrend
Lokales XSS ist verherrend

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.

Kommentarfelder sind ein guter Input für Cross Site Scripting Beispiel + XSS Tutorial
Kommentarfelder sind einInput für Cross Site Scripting Beispiel + XSS Tutorial

Im Browser des Seitenbesuchers führt sich das Schad-JavaScript aus und kann aktiv werden.

Und WordPress ist aber schon schlauer:

XSS landet im WordPress Spam
XSS landet im WordPress Spam
Wordpress ist schlau und erkennt die Script Tags
WordPress ist schlau und erkennt die Script Tags

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:

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


Danke fürs Lesen. Erhalte weitere Tutorials in meinem belieben Newsletter*.
Jeden Monat teile ich mit Dir 4 neue praxisnahe Tutorials.
Über 162.403 sind abonniert. Trage Deine Mail ein und werde Teil von uns.



Quellenangabe Bilder: Icons und SVG-Grafiken im Titelbild von Microsoft PowerPoint 2019, frei verfügbar nach EULA
*) Mit dem Abonnement des Newsletters erklären Sie sich mit der Analyse des Newsletters durch individuelle Messung, Speicherung und Analyse von Öffnungsraten und der Klickraten in Profilen zu Zwecken der Gestaltung künftig besserer Newsletter einverstanden. Sie können die Einwilligung in den Empfang des Newsletters und die Messung mit Wirkung für die Zukunft widerrufen. Der Versand erfolgt mit MailChimp. Mehr in der Datenschutzerklärung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.