scripting

Cross-Site Scripting (XSS): Was ist es und wie behebt man es? – 11blog

Als eine der häufigsten Cybersecurity-Bedrohungen hat Cross-Site Scripting (XSS) im Jahr 2019 fast 75 % der großen Unternehmen angegriffen. Außerdem wurden fast 40% aller Cyberattacken durchgeführt, um XSS-Schwachstellen anzugreifen.

Cross-Site-Scripting hat Webseiten von Web-Giganten wie eBay, Google, Facebook und Twitter betroffen. Aber Cross-Site Scripting ist keine neue Cyberbedrohung. Tatsächlich gibt es XSS-Angriffe fast seit den Anfängen des Webs selbst.

Um dir zu helfen, XSS-Angriffe zu verhindern, konzentriert sich dieser Leitfaden auf alles, was du über Cross-Site Scripting wissen musst. Nach der Lektüre dieses Leitfadens wirst du eine bessere Vorstellung davon bekommen, wie Cross-Site-Scripting funktioniert und wie du deine WordPress Website absichern kannst.

Was ist Cross-Site Scripting (XSS)?

Cross-Site-Scripting (XSS) bezieht sich auf die Art von Cyberattacken, bei denen bösartige Skripte in ansonsten glaubwürdige und vertrauenswürdige Websites injiziert werden.

Cross-Site-Scripting-Angriffe sind in HTML, Flash, ActiveX und CSS möglich. JavaScript ist jedoch das häufigste Ziel von Cyberkriminellen, da es für die meisten Surferlebnisse grundlegend ist.

JavaScript ist eine Programmiersprache, mit der du komplexe Funktionen auf deiner Webseite implementieren kannst. Die meisten Websites im Web, die groß und interaktiv sind, wurden mit JavaScript erstellt. “Du kannst vor Ort interaktive Features, Spiele oder zusätzliche Funktionen entwickeln, um deine Produkte besser zu vermarkten”, so Domantas Gudeliauskas, ein Marketing Manager für das Zyro Projekt.

JavaScript ist in der Web-Community so beliebt, weil man damit praktisch alles auf einer Webseite machen kann. Und genau dann wird es problematisch. Cyberkriminelle können JavaScript nutzen, um sich auf der Rückseite deiner Webseiten einzuloggen und bösartige Skripte einzufügen.

Wie funktioniert Cross-Site Scripting?

Es gibt zwei Möglichkeiten, wie Cyberkriminelle XSS-Angriffe auf WordPress-Webseiten durchführen. Sie können entweder Benutzereingaben ausnutzen oder die Same-Origin-Richtlinien umgehen. Lass uns einen Blick auf beide Methoden werfen, um Cross-Site Scripting besser zu verstehen.

Benutzereingaben manipulieren

Die häufigste Art, wie Cyberkriminelle XSS-Angriffe durchführen, ist die Ausnutzung von Benutzereingaben. Die meisten WordPress-Websites haben Benutzereingabefelder, wie Suchleisten, Kommentarformulare, Anmeldeseiten und Kontaktformulare. Das Eingabefeld wird typischerweise durch ein JavaScript-gesteuertes WordPress-Plugin oder Theme aktiviert, das auf deiner Website aktiv ist.

Das Problem ist, dass nicht alle WordPress-Plugins und Themes zu 100% sicher sind und viele von ihnen tatsächlich XSS-Schwachstellen haben. Das bedeutet für dich, dass Cyberkriminelle WordPress-Schwachstellen in Eingabefeldern ausnutzen können, um bösartige Aktivitäten durchzuführen.

Grundsätzlich sollte die Suchleiste einer Website (oder jedes andere Benutzereingabefeld) nur einfachen Text als Eingabe akzeptieren, keine Befehle. WordPress hat jedoch eine Schwachstelle in der Benutzereingabe, die es Hackern ermöglicht, einen ausführenden Code in das Eingabefeld einzugeben und ihn an die Datenbank zu senden.

Umgehung der Same Origin Policies

Die Same-Origin-Policy schränkt eine Seite ein, Informationen von anderen Webseiten abzurufen. Unter dieser Richtlinie erlauben Webbrowser Skripte, die in der ersten Webseite enthalten sind, nur dann auf Daten in einer zweiten Webseite zuzugreifen, wenn sie den gleichen Ursprung haben. Dies hilft sicherzustellen, dass keine seitenübergreifenden Anfragen gestellt werden.

Die Richtlinie besagt, dass wenn du deine Facebook-Seite und dein Online-Banking im selben Browser geöffnet hast, die beiden Webseiten keine Informationen miteinander teilen können. Wenn du jedoch mehrere Facebook-Tabs (die denselben Ursprung haben) geöffnet hast, können sie untereinander Skripte und andere Daten austauschen.

>

Trotz der Same-Origin-Policy und anderer Sicherheitsmaßnahmen, die Cross-Site-Requests verhindern sollen, haben Cyberkriminelle einen Weg gefunden, die Policy mithilfe von Session-Cookies zu umgehen. Das funktioniert, weil jedes Mal, wenn du einen Browser öffnest, dieser ein Session-Cookie generiert, um dich als Website-Benutzer zu validieren und dir zu helfen, reibungslos von einer Seite zur anderen zu wechseln.

Session-Cookies speichern Anmeldedaten (auch für deine WordPress-Seite), Kreditkarteninformationen, Versanddetails und andere sensible Daten. So funktioniert es. Nehmen wir an, du willst dich bei deinem Online-Banking-Konto anmelden. Wenn du die Website öffnest, wird ein Session-Cookie erzeugt. Wenn es keine Session-Cookies gäbe, müsstest du dich jedes Mal in dein Online-Banking-Konto einloggen, wenn du die Seite wechseln willst.

>

Es ist nicht ungewöhnlich, dass die Browser der Nutzer Sicherheitslücken haben. Und wenn es welche gibt, nutzen Cyberkriminelle den Code, den sie in die Benutzereingabe einschleusen, um Session-Cookies zu stehlen. Auf diese Weise können Hacker die Cookies aller Websites stehlen, die im Browser des Nutzers geöffnet sind. Dann können diese Cookies verwendet werden, um sich in die Konten der Nutzer einzuloggen, um sich als diese auszugeben und finanzielle Daten zu stehlen.

Warum ist Cross-Site Scripting gefährlich?

Cross-Site Scripting ist eine der häufigsten und risikoreichsten WordPress-Schwachstellen. XSS-Angriffe sind so häufig, weil sie im Gegensatz zu anderen Sicherheitslücken sehr komplex zu beheben sind. Selbst wenn du einen eingebauten Schutz hast, ist es sehr einfach, Fehler zu machen, die Cross-Site Scripting ermöglichen. Nur ein Fehler im HTML oder JavaScript deiner Webseite kann deine Website anfällig für Cross-Site Scripting Angriffe machen.

Wenn Angreifer einen Weg finden, XSS-Schwachstellen auszunutzen, können sie Account-Anmeldeinformationen und Finanzdaten stehlen und Phishing-Betrügereien erleichtern. Sie können auch Computerwürmer verbreiten oder sich aus der Ferne Zugang zu den Computern der Nutzer verschaffen. Außerdem ermöglichen XSS-Angriffe den Hackern, Folgendes durchzuführen:

  • Benutzerkonten kapern
  • Malware verbreiten
  • Den Computer des Benutzers aus der Ferne kontrollieren
  • Intranetanwendungen scannen und ausnutzen

XSS-Angriffe werden gemeinhin als weniger gefährlich angesehen als SQL-Injektionen. In Kombination mit Social Engineering ermöglicht Cross-Site-Scripting Cyberkriminellen jedoch fortgeschrittene und extrem gefährliche Angriffe, darunter das Einschleusen von Trojanern, Keylogging, Phishing, Identitätsdiebstahl und Cross-Site-Request-Forgery.

Um XSS-Angriffe zu bekämpfen, starten große IT-Unternehmen spezielle Bug-Bounty-Programme. Diese Programme werden von vielen Organisationen umgesetzt und bieten den Nutzern, die XSS-Schwachstellen in Skripten melden, eine Entschädigung oder Anerkennung. Auf diese Weise investieren die Unternehmen in die Cybersicherheit, indem sie andere Entwickler dazu bringen, ihre Bugs zu identifizieren. Google hat sogar ein Spiel gestartet, in dem man sich im Melden von XSS-Bugs üben kann.

Typen von XSS-Attacken

Es gibt drei Haupttypen von Cross-Site-Scripting-Angriffen: reflektiertes, gespeichertes und DOM-basiertes XSS. Um einen besseren Einblick in die Funktionsweise von XSS zu bekommen, wollen wir uns die einzelnen Arten von XSS-Schwachstellen ansehen.

Gespeichertes Cross-Site-Scripting

Eine gespeicherte XSS-Schwachstelle (auch bekannt als Persistent oder Typ I) findet statt, wenn Benutzereingaben in einer Datenbank, einem Kommentarfeld, einem Besucherprotokoll oder einem anderen Zielserver gespeichert werden. Und dann kann ein Opfer die gespeicherten Daten (die nicht sicher gemacht wurden, um sie im Browser zu rendern) von der Webanwendung abrufen. Wenn ein Hacker einen Angriff durchführt, ist die Nutzlast auf diese Weise für den XSS-Filter des Browsers nicht sichtbar, und Opfer können die Nutzlast versehentlich auslösen, wenn sie die betroffene Seite besuchen.

Reflektiertes Cross-Site-Scripting

Eine reflektierte XSS-Schwachstelle (auch bekannt als Non-Persistent oder Typ II) tritt auf, wenn eine Webanwendung Benutzereingaben sofort in einem Suchergebnis, einer Fehlermeldung oder einer anderen Antwort zurückgibt. In diesem Fall werden die Benutzereingabedaten reflektiert, ohne gespeichert zu werden, was es Hackern ermöglicht, bösartige XSS-Skripte zu injizieren. Im Gegensatz zu gespeichertem XSS zielt reflektiertes XSS auf die Website selbst und nicht auf die Besucher der Website.

DOM-basiertes XSS

Die DOM-basierte XSS-Schwachstelle (auch bekannt als Typ 0) tritt im DOM (Document Object Model) auf und nicht in einem Teil des HTML. Die Quelle, aus der der bösartige Code gelesen wird, kann eine URL oder ein bestimmtes Element des HTML sein.

Wie kann man Cross-Site Scripting Attacken verhindern?

Nun, da du die XSS-Grundlagen abgedeckt hast, lass uns einen Blick auf die bewährten Möglichkeiten werfen, XSS-Angriffe zu verhindern.

Es gibt mehrere Möglichkeiten, wie du deine WordPress-Website vor XSS-Angriffen schützen kannst. Wenn du über fortgeschrittene technische Kenntnisse verfügst, kannst du Code-Snippets hinzufügen, um Benutzereingaben zu validieren und zu sanitisieren. Wenn du jedoch nicht mit dem technischen Teil von WordPress vertraut bist, ist es besser, die Arbeit an dein technisches Team zu delegieren oder einen Profi zu engagieren, der diese Maßnahmen für dich ergreifen kann.

In der Zwischenzeit gibt es zwei Dinge, die du tun kannst, um Cross-Site-Scripting-Angriffe zu verhindern.

Installiere ein Sicherheits-Plugin

Die Installation eines Sicherheits-Plugins für WordPress ist der erste Schritt zur ultimativen Sicherheit deiner WordPress Website. Wenn du ein Sicherheits-Plugin auswählst, verwende diese Checkliste als Referenz, um sicherzustellen, dass das Plugin die erforderliche Funktionalität hat, um deine Website sicher zu halten.

  • Ein Plugin scannt deine Webseite regelmäßig auf Malware.
  • Ein Plugin verwendet Firewalls, um jeglichen Verkehr zu blockieren, der bösartig erscheint.
  • Ein Plugin ist in der Lage, WordPress-Härtungsmaßnahmen zu implementieren.
  • Ein Plugin ermöglicht es dir, alle WordPress Updates zu verwalten.
  • Ein Plugin sichert deine WordPress Website, so dass du im Falle eines Angriffs deine Website wiederherstellen kannst.

Installiere ein spezielles Plugin

Die Installation eines Anti-XSS-Plugins ist eine weitere Möglichkeit, Cross-Site-Scripting zu verhindern. Anti-XSS-Plugins funktionieren, indem sie Parameter blockieren, die häufig bei Cross-Site-Scripting-Angriffen verwendet werden. Diese Plugins können zum Beispiel Benutzereingabefelder absichern, wie die Kommentarformulare deiner Website, Login-Felder oder Suchleisten.

>


Das Fazit: 39% aller WordPress-Schwachstellen stehen im Zusammenhang mit den Cross-Site-Scripting-Problemen. Unternehmen verlieren Millionen von Dollar bei der Bekämpfung der Folgen von Cross-Site-Scripting-Angriffen. Um XSS-Angriffe auf deine Website zu vermeiden, ist es wichtig zu verstehen, was Cross-Site Scripting ist und vorbeugende Maßnahmen zu ergreifen.

Um deine Website vor Cross-Site-Scripting zu schützen, solltest du deine Eingabefelder validieren und bereinigen. Zusätzlich kannst du Sicherheits- und spezielle Anti-XSS-Plugins installieren, die dir helfen, deine WordPress-Website sicher zu halten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.