Cross-Site-Scripting (XSS): Das steckt dahinter und so schützen Sie sich

Digitales Business

Digitales Business

Datum 10.08.2022
Lesezeit 7 Min.

Cross-Site-Scripting (XSS): Das steckt dahinter und so schützen Sie sich

Das sogenannte Cross-Site-Scripting (XSS) nutzt Schwächen bei der Unterscheidung zwischen normalen Benutzereingaben und Programmcode aus. In der Folge verschaffen sich Kriminelle Zugang zu vertraulichen Daten wie Passwörtern, Kreditkartendaten oder Firmengeheimnissen. Hauptverantwortlich dafür sind fehlende oder veraltete Sicherheitsmechanismen im Umgang mit Kontaktformularen auf Webseiten, insbesondere im JavaScript-Umfeld. Wie XSS-Attacken funktionieren und was Sie dagegen tun können, erfahren Sie hier.

Laut einer Umfrage des Branchenverbands Bitkom aus dem Jahr 2021 entfällt das Gros der Cyberangriffe auf die Infizierung von Rechnern mit Schadsoftware sowie DDoS-Attacken. Bei immerhin neun Prozent der digitalen Angriffe handelt es sich um webseitenübergreifende XSS-Manipulationen (sogenannte Cross-Site-Scripting-Angriffe). Aber auch viele andere Attacken basieren auf XSS-Methoden, etwa Angriffe auf Passwörter, Ransomware-Forderungen und . Grund genug für uns, das Thema einmal näher zu betrachten und aufzuzeigen, wie Sie das Sicherheitsrisiko durch Code-Einschleusung in Webseiten wirksam bekämpfen.

 

Was ist XSS (Cross-Site-Scripting)?

Wörtlich übersetzt bedeutet Cross-Site-Scripting in etwa „webseitenübergreifende Ausführung von Skriptcode“. Was zunächst harmlos klingt, meint in der Praxis das Einschleusen von potenziell schädlichem Programmcode in Umgebungen, die sonst als vertrauenswürdig gelten. In diesem Zusammenhang ist auch von XSS-Attacken die Rede. Das X steht für das englische Wort „Cross“, da der Begriff „CSS“ bereits im HTML-Umfeld als Layoutsprache definiert ist (Cascading Style-Sheets).

Betroffen von XSS-Attacken sind neben Formularen auf Webseiten auch Sitzungsdaten sowie URL-Parameter, also der Teil einer Webadresse, der hinter der eigentlichen Aufrufadresse folgt. Es handelt sich um sogenannte Injection-Angriffe (die SQL-Injection ist ein Beispiel hierfür). Bei diesen Angriffen „injizieren“ Hacker:innen ihren Code genau dort, wo er seine (normalerweise schädliche) Wirkung entfalten kann.

Ein XSS-Angriff verfolgt fast immer eines oder mehrere dieser Ziele:

  • Übernahme fremder Benutzersitzungen (beispielsweise eines Online-Einkaufs oder die Navigation auf einer besonders geschützten Webseite)
  • Einschleusen fremden Materials in Webseiten, um diese optisch zu entstellen (Website-Defacement) oder bestimmte Botschaften zu verbreiten
  • Durchführung von Phishing-Angriffen, um an fremde Log-in-Daten, Kreditkarteninformationen und Ähnliches zu gelangen
  • Übernahme der Kontrolle über die Browser der Benutzer:innen und/oder deren Rechner

 

In der OWASP-Liste (Open Web Application Security Projects) der zehn gängigsten Bedrohungen ist die Cross-Site-Scripting-Attacke seit Jahren stabil vertreten. Das zeigt, wie bedeutsam diese Angriffsform für die Webseiten-Administration und für IT-Verantwortliche ist. Auch die Sicherheitsberatung IDC sieht das so:

 

Ausklappbare Informationsgrafik

Phishing gehört zu den häufigsten Formen von Cyberkriminalität.

 

Besonders gefährdet und häufige Ziele von XSS-Attacken sind:

  • Banken und Kreditinstitute
  • Content-Management-Systeme (CMS)
  • Suchmaschinen, insbesondere auf eigenen Webseiten
  • News-Skripte und -Anwendungen
  • Panels für Hardware-Konfigurationen und Serveranwendungen, auch im IoT-Bereich
  • Behördliche und militärische Webseiten im In- und Ausland
  • Onlineshops und -marktplätze
  • Veraltete Webbrowser
  • Router, Firewalls und Gateways
  • UTM-Systeme (Unified-Threat-Management)

 

Whitepaper: Cyber Security

Whitepaper: Cyber Security

Cyberangriffe und kein Ende: Die potenziellen Schäden sind gewaltig und auch der Mittelstand ist zunehmend betroffen. Unser Cyber-Security-Whitepaper verrät, wie wirksamer Schutz vor Kriminellen gelingt:

  • Zahlen, Daten und Fakten zur Bedrohung durch Cyberattacken
  • Einblicke in Angriffsmethoden wie Malware, Ransomware & Co.
  • Maßnahmenplan, um Ihr Unternehmen effektiv zu schützen

 

Cross-Site-Scripting: So funktionieren die Angriffe auf Webanwendungen

Es gibt drei Arten von Cross-Site-Scripting-Angriffen. Diese unterscheiden sich jeweils in der Art der Durchführung, aber auch in dem Ort, an dem sie stattfinden: Client (lokal im Browser) oder Server. Außerdem gibt es Angriffsarten, die dauerhaft „auf Beute lauern“, und solche, die einmalig und in einem konkreten Fall z. B. auf einen Daten- oder Identitätsdiebstahl abzielen:

                       

Reflective (Reflected) XSS

Bei einem sogenannten reflektierten XSS-Angriff nutzen Cyberkriminelle Schadcode dazu, serverseitige Antworten mit schädlichem oder vertraulichem Inhalt zu provozieren, die normalerweise nicht stattfinden würden. Diese Art des Angriffs wird auch als nicht persistent bezeichnet, da sie auf einmalige Antworten („Reflektion“) und nicht auf die dauerhafte Veränderung einer Webseite abzielt.

Um diese Angriffsart zu verstehen, ist es wichtig zu wissen, wie Webseiten mit dynamischen Inhalten funktionieren. Sie arbeiten häufig mit den Methoden HTTP GET und HTTP POST, bei denen der Webserver Eingaben von Benutzer:innen URL-seitig „reflektiert“. Hierzu geben die Täter:innen  in der URL hinter dem Fragezeichen schädlichen Code ein. Die Reflected-XSS-Manipulation erfolgt also durch gezielte Code-Einschleusung oder „Injektion”. Nehmen wir an, ein:e Benutzer:in sucht nach dem Begriff „cloud“ und gibt diesen auf einer Webseite ein. Dann ändert sich in vielen Fällen die URL der Seite wie folgt:

 

XSS-Codebeispiel

Hacker:innen machen sich diese Art der Parameter-Reflektion zunutze, indem sie anstelle eines Suchbegriffs Schadcode verwenden, also anstelle von „cloud“ z. B.:

XSS-Codebeispiel

Die derart vorbereitete URL senden Cyberkriminelle nun per E-Mail oder auf anderen Wegen an ahnungslose Nutzer:innen. Bemerken die Empfänger:innen diese „verseuchte“ URL nicht oder ignorieren sie, kann es passieren,

Eine weitere Form der reflektierenden XSS-Attacke läuft über sogenannte iFrames und/oder manipulierte Kontaktformulare. Greifen Benutzer:innen auf derart veränderte Seiten zu, reicht ebenfalls ein simpler Webseiten-Aufruf, um vorher hinterlegten Schadcode auf dem Rechner des häufig ahnungslosen Opfers auszuführen.

 

Ausklappbare Informationsgrafik

XSS-Attacken bedienen sich häufig harmloser Webseiten, die mit Schadcode manipuliert werden, sobald jemand sie aufruft.

 

DOM-based XSS und lokales XSS

Die Abkürzung DOM steht für Document-Object-Model und bezeichnet eine standardisierte Schnittstelle für den Datenzugriff auf und innerhalb von Webseiten. Das DOM-Prinzip ist insbesondere bei dynamisch erzeugten Angeboten von Bedeutung. Bei diesen stammen Inhalte häufig aus mehreren Quellen, die miteinander interagieren und in Beziehung stehen, aber für Anwender:innen wie eine einzige Webseite aussehen (sollen). Ein Beispiel hierfür ist die Kombination aus statischen Inhalten wie einer Navigationsleiste, eingeblendeter Werbung und persönlichen Daten aus dem Konto des:der Benutzer:in.

Diese Art der Intra-Webseiten-Kommunikation findet normalerweise nicht auf Serverseite statt, sondern direkt im Browser der Anwender:innen. Selbst bei einfachen Webseiten mit JavaScript-Anteilen können Hacker:innen im Bereich dieser Seiten-Interaktion über den betreffenden URL-Parameter Schadcode ausführen. Das besonders Perfide an dieser Art von Attacke ist, dass es nicht möglich ist, die Manipulation über den angezeigten Link in der Browser-Adresszeile zu erkennen.

Die meisten Browser fangen solche manipulierten Seiten(-anteile) inzwischen ab. Dennoch sind auch DOM-basierte XSS-Angriffe und lokale Skript-Attacken weiterhin von großer Bedeutung.

 

Persistent (Stored) XSS

Die sogenannten persistenten XSS-Attacken sind besonders dort verbreitet, wo Gästebücher, Foren oder andere interaktive Webseiten ganz oder weitgehend unmoderiert betrieben werden. Hier können Angreifer:innen ganz einfach Schadcode in Skriptform oder als Verweis auf bösartige URLs veröffentlichen – z. B. anstelle normaler Kommentare und Beiträge oder zusätzlich zu diesen. Greifen nun andere Personen auf diese Beiträge oder Links zu und sind ihre Rechner nicht entsprechend geschützt, kann es sein, dass dort hinterlegter Schadcode ausgeführt wird und ein persistenter Angriff erfolgreich ist.

Das Vorgehen ist ähnlich wie bei den Reflected-XSS-Attacken: Angreifer:innen platzieren anstelle von normalen Texteingaben Skriptcode in einem Eingabefeld und „hoffen“ zunächst darauf, dass dieser Eintrag nicht weggefiltert wird. Gleichzeitig basiert die Idee darauf, dass unsichere oder veraltete Browser den eingeschleusten Code nicht ignorieren, sondern ausführen. In diesem Fall wäre die XSS-Attacke nicht nur erfolgreich, sondern sogar dauerhaft wie eine Art Köder im Netz platziert.

 

XSS: Beispiele für Cross-Site-Scripting-Angriffe

Im Folgenden zeigen wir Ihnen einige Beispiele für XSS-Angriffe auf, die in der Vergangenheit bereits für mehr oder weniger Aufmerksamkeit gesorgt haben. Auch wenn die genannten Sicherheitslücken inzwischen bekannt sind und somit weitgehend geschlossen wurden, ist es nur eine Frage der Zeit, bis Hacker:innen neue Angriffsvektoren identifiziert haben.

XSS-Beispiel 1: Das schwache Galerie-Skript: Ein relativ bekanntes Beispiel für XSS-Angriffe ist ein sogenanntes Galerie-Skript, das viele Webseiten-Betreiber:innen eine Zeit lang tausendfach unreflektiert heruntergeladen und zur Gestaltung ihrer Website-Inhalte verwendet hatten. Zusätzlich zum nützlichen Aspekt der Bildergalerie wies das Skript eine Schwachstelle auf, über die mithilfe der untenstehenden Eingabe die aktuellen Sitzungs-Cookies der Anwender:innen ausgelesen werden konnten:

XSS-Codebeispiel

Mithilfe derart ausgelesener Cookies war es möglich, Sitzungen zu übernehmen und beispielsweise Shop-Bestellungen an eine andere Adresse umzuleiten oder Zahlungsdaten auszuspähen.

 

XSS-Beispiel 2: Das kompromittierte Bild: Ein anderes eindrucksvolles Beispiel für schwer erkennbare XSS-Attacken basiert darauf, dass auch Metadaten von Bildern Schadcode enthalten können. Eine simple Analyse des Quellcodes einer Webseite reicht hier nicht aus, um das Problem zu erkennen: Der Code versteckt sich im Bild und sobald es angezeigt wird, wird im schlimmsten Fall auch der Schadcode ausgeführt. Eingaben durch Benutzer:innen oder Ähnliches sind nicht erforderlich. Auch das moderne .svg-Format ist hiervon betroffen.

XSS-Beispiel 3: Die fremde JavaScript-Schwachstelle: 2018 spähten Cyberkriminelle wertvolle Daten von Kund:innen der Fluggesellschaft British Airways aus. Hierbei wurde eine Sicherheitslücke in einer JavaScript-Bibliothek namens Feedify ausgenutzt. Kund:innen, die einen Flug buchen wollten, wurden auf eine Domain umgeleitet, die so ähnlich lautete wie die von British Airways, und bezahlten dort für ihre Flüge. Auf diese Art hatten Cyberkriminelle etwa 380.000 Kreditkartendaten gestohlen, bevor der Betrug aufflog.

 

Vodafone Cyber Security Services

Vodafone Cyber Security Services

Immer mehr DDoS-Attacken, professionelle Hacker-Angriffe, hohe Compliance-Anforderungen: Nie war es wichtiger, Ihre Infrastruktur vor Risiken zu schützen. Dank der Vodafone Cyber Security-Elemente können Sie Ihre Cloud umfassend absichern: von DDoS-Mitigation über Managed Firewall bis hin zum Schutz der physikalischen Komponenten.

Mehr Sicherheit für Ihr Unternehmen: Wir beraten Sie gern über die passenden Cyber Security-Lösungen.

 

XSS (Cross-Site-Scripting): Darum sollten Unternehmen besonders aufpassen

Die Risiken durch XSS-basierte Angriffe sind ebenso vielfältig wie groß. Nicht nur das Beispiel der betrogenen British-Airways-Kund:innen dürfte seinerzeit viele Unternehmen veranlasst haben, bei den hauseigenen Sicherheitsmechanismen genauer hinzusehen. Selbst vermeintlich harmlose, einzelne Vorfälle können sich schnell zu einer ausgewachsenen Sicherheitslücke entwickeln.

Das Problem: Häufig sind XSS-Attacken erst der Anfang groß angelegter Angriffe auf Schwachstellen in Systemen. Gerade in Verbindung mit Administrationsrechten beim Aufruf von Webseiten lassen sich nicht nur Daten aus der aktuellen Sitzung ausspähen, sondern schnell auch andere Dienste starten. Ab dem Zeitpunkt der erfolgreichen XSS-Attacke laufen diese Dienste unbemerkt im Hintergrund eines Rechners mit.

Geben die Angreifer:innen zu einem späteren Zeitpunkt das Startsignal für den XSS-Angriff, kann es zum Totalausfall, zu erheblichem Datenverlust und zu gravierenden Fällen von Industriespionage kommen. Der Ursprung der eigentlichen Attacke lässt sich dann nur noch schwer identifizieren. Das liegt oft daran, dass die Systeme beispielsweise Log-Dateien gar nicht erst gespeichert oder diese wegen des zeitlichen Abstands längst überschrieben haben.

Zu den möglichen Schäden durch XSS-Angriffe in Unternehmen zählen:

  • Komplette oder teilweise Betriebsausfälle
  • Ausfall von Webseiten, einschließlich Shops, oder deren erhebliche Verlangsamung
  • Datendiebstähle jeglicher Art, sowohl in Form von Stammdaten als auch Zahlungsdaten
  • Einschleusung weiterer Schadsoftware in unzureichend geschützte Systeme
  • Imageverlust durch fehlende Absicherung von Mitarbeiter- und Kundendaten
  • Wettbewerbsnachteile, beispielsweise durch Industriespionage

Es lohnt sich also, gegen Cross-Site-Scripting und andere Injection-basierte Attacken rechtzeitig wirksamen Schutz zu gewährleisten.

 

Prävention: So verhindern Sie XSS-Angriffe wirksam

Bis heute basieren fast alle bestehenden Webseiten auf den Vorteilen, die JavaScript, HTML, XML und DOM bieten. Außerdem erwarten Kund:innen möglichst großen Komfort bei der Nutzung von Online-Angeboten. Allzu aufwändige Log-in-Mechanismen mit Zwei-Faktor-Authentifizierung, starken Verschlüsselungen oder allzu schnell ablaufenden Sitzungen sorgen für Frustration und entsprechend weniger Bestellungen oder eine schlechtere Wahrnehmung. Was also tun, wenn Sie Cross-Site-Scripting und andere Cyberattacken wirksam verhindern wollen?

So bauen Sie serverseitigen Schutz gegen XSS-Attacken auf

Ein vollständiger Schutz gegen XSS-Attacken ist kaum möglich. Immer wieder tun sich neue Sicherheitslücken auf, die Anbieter von Serversoftware, Firewalls und Co. mehr oder weniger schnell schließen. Doch zum Glück hat sich inzwischen einiges getan: Ein allzu leichtfertiges Hacken von URL-Parametern und Formulareingaben ist selbst auf einfachen Webservern inzwischen nicht mehr möglich.

Trotzdem gilt: Je wichtiger und wertvoller Ihre Daten sind, desto besser sollten Sie sie schützen – speziell, wenn Sie sich mit dem Thema schon länger nicht mehr beschäftigt haben.

Zu den wesentlichen IT-seitigen Pflichten im XSS-Umfeld gehören:

  • Installieren Sie stets die neuesten Versionen der Betriebssysteme auf Ihren Servern.
  • Halten Sie diese durch automatische Updates auf dem neuesten Stand.
  • Noch besser: Nutzen Sie die Public- und Private-Cloud-Angebote etablierter Anbieter.
  • Fangen Sie jegliche Eingaben mit Sonderzeichen in Kontaktformularen, URLs und Co. ab und verbieten Sie diese auf Ihren Webseiten.
  • Führen Sie regelmäßig sogenannte Penetrationstests durch oder nutzen Sie Angebote aus dem Bereich des Ethical Hacking: Dabei untersuchen Expert:innen Ihr Angebot gezielt auf mögliche Schwachstellen – ohne jedoch Schäden zu verursachen.

 

Risikofreies Cloud-Computing: Vodafone Total Cloud Security

Risikofreies Cloud-Computing: Vodafone Total Cloud Security

Immer mehr DDoS-Attacken, professionellere Hacker-Angriffe, gestiegene Compliance-Anforderungen – nie war es wichtiger, Ihre Infrastruktur vor Risiken zu schützen als heute.

Unser DDoS Mitigation Service analysiert einlaufenden Traffic und alarmiert Sie automatisch bei drohenden Attacken. Mit Managed Firewall bekommen Sie umfassenden hardware-dedizierten Schutz vor IT-Gefahren. Außerdem verfügen wir über die ISO 27001-Zertifizierung für Cloud & Hosting Services und für Rechenzentrums-Dienstleister in Deutschland.

 

Wie Sie clientseitigen Schutz gegen XSS aufbauen

  • Sorgen Sie dafür, dass auch die Client-Rechner in Ihrem Unternehmen stets über die neuesten Updates verfügen – egal, ob Windows-, macOS- oder Linux-basiert.
  • Achten Sie darauf, dass Ihre Mitarbeitenden stets die neuesten Browser-Updates verwenden.
  • Verhindern Sie, dass Mitarbeitende sich lokal mit rechten anmelden.
  • Prüfen Sie, ob Sie je nach Bedrohungslage auf Ihren Geräten weitere Sicherheitspakete installieren sollten – zusätzlich zum vorhandenen Viren- und Firewall-Schutz.
  • Diese sind zumindest im internen Netz mit ihrer IP-Adresse erreichbar und könnten durch Cybervorfälle auf internen Webservern ebenfalls kompromittiert werden.
  • Sorgen Sie für ein ordnungsgemäß abgeschottetes internes Netzwerksystem mit VPN-Einwahl und hängen Sie Ihr WLAN-Passwort nicht sichtbar im Büro auf.
  • Falls Mitarbeitende eigene Geräte mitbringen dürfen (BYOD-Modell), sorgen Sie dafür, dass diese Ihren hauseigenen Sicherheitsrichtlinien entsprechen.

 

Sorgen Sie außerdem langfristig für eine offene Fehlerkultur in Ihrem Unternehmen. Mitarbeitende sollten es straffrei melden können, wenn sie beispielsweise versehentlich einen kompromittierten Link angeklickt haben. Wird eine XSS-Attacke bekannt, geraten Sie nicht in Panik: Trennen Sie den betroffenen Computer umgehend vom Netz, fahren Sie ihn herunter und lassen Sie ihn durch ausgebildete IT-Forensiker:innen aus dem Cyber-Security-Umfeld untersuchen. Nur so erkennen Sie zeitnah das mögliche Ausmaß des Schadens und können schnellstmöglich beruhigt wieder an Ihre eigentliche Arbeit gehen.

 

War Cross-Site-Scripting in Ihrem Unternehmen bereits Thema? Welche Maßnahmen haben Sie ergriffen, um Ihre Webseite(n) zu schützen? Wir sind gespannt auf Ihren Kommentar.

 


Ihre Digitalisierungs-Berater:innen für den Mittelstand

Sie haben Fragen zur Digitalisierung? Unser Expert:innen-Team hilft Ihnen kostenlos
und unverbindlich im Chat (Mo.-Fr. 8-20 Uhr). Oder am Telefon unter 0800 5054512

Kommentare

Schreibe einen Kommentar

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

Facebook Twitter WhatsApp LinkedIn Xing E-Mail