Offensive Services

XSS – Der Cross-Site-Scripting Angriff einfach erklärt!

Aktualisiert am

Das Cross Site Scripting (abgekürzt XSS) ist nach wie vor eine der gefährlichsten Angriffsarten im Internet. Webseiten werden häufig durch JavaScript begleitet. Diese dienen häufig dazu, Animationen abzuspielen oder Marketinginformationen zu sammeln. Diese Skripte können durch hauptsächlich drei verschiedene Methoden manipuliert werden.

Persistentes XSS

Der wohl für ein Opfer am gefährlichsten ist der persistente XSS Angriff. Hier hat ein Angreifer nicht direkt den Nutzer einer Webseite angegriffen, sondern ein manipuliertes Skript dauerhaft (persistent) auf der entsprechenden Webpräsenz etabliert. Dies kann zum Beispiel durch eine Sicherheitslücke in dem Webserver oder dem Datenbanksystem entstanden sein.

Eingaben auf der Webseite werden möglicherweise anschließend mitgeschnitten und auf den Server des Angreifers weitergeleitet. Für einen normalen Nutzer ist der persistente XSS Angriff meist komplett unsichtbar. Ein möglicher Schutz für diese Angriffe ermöglicht das NoScript Plugin.

Reflected XSS

Der reflected oder zu Deutsch „reflektierende“ XSS Angriff funktioniert ohne eine Persistenz auf dem Webserver und wird häufig in Kombination mit Phishing verwendet. Ein Angreifer sendet hier dem Opfer ein entsprechend vorbereiteten, meist langen Link, welche eine Lücke auf einer Webseite ausnutzt.

Der entsprechende Link kann zum Beispiel die Ausführung eines Skripts auf einer Webpräsenz so verändern, dass dieses Nutzereingaben anstatt auf den korrekten Webserver an einen Angreiferserver weiterleiten. Ein Nutzer bekommt häufig nichts davon mit, da er sich auf der originalen Webseite befindet.

Ein Hinweis kann ein entsprechend Langer link in einer E-Mail sein. Allerdings kann ein langer Link durch einen URL-Kürzer versteckt werden. Es sollte generell nicht auf gekürzte Links in E-Mails geklickt werden.

Reflected XSS Übersicht
Eine Übersicht des XSS Angriffs, wenn der Angreifer sich zu einem reflected XSS entscheidet.

Lokaler Angriff

Die letzte Methode für einen XSS Angriff ist der lokale, Client-seitige Angriff. Dieser wird entsprechend auf ein Opfer vorbereitet. Auch hier wird häufig ein Link an ein Opfer gesendet. Anders als beim reflected XSS wird jedoch nicht eine Lücke auf der Webseite selbst verwendet, sondern der Browser des Opfers manipuliert.

Der Link nutzt somit eine Sicherheitslücke im Browser aus, wodurch das Aussehen einer im Link festgelegten Webseite durch den Browser selbst verändert wird. Der Angriff selbst wird also auf dem Computer des Opfers ausgeführt, was es sogar theoretisch möglich macht, durch den Browser Dateien auf dem Computer zu verändern oder dort zu platzieren. Auch wäre es möglich, weitere Malware zur Ausführung zu bringen.

Foto des Autors

Vincent Reckendrees

Hallo, ich bin Vincent Reckendrees und leite das Team Offensive Services bei der AWARE7 GmbH. In meinem Bachelor und Master Studium habe ich mich auf IT-Sicherheit spezialisiert und BSI zertifizierter IS-Penetrationstester. Meine Leidenschaft gilt Reverse Engineering, Hardware- und Web-Sicherheit. Als Experte für Penetrationstests finde ich Schwachstellen in Systemen und Netzwerken und nutze sie, um realistische Cyberangriffe zu simulieren und Sicherheitsmaßnahmen zu verbessern. Durch Reverse Engineering entdecke ich Fehler und Verbesserungsmöglichkeiten in Software und Hardware. Meine Fähigkeiten in Hardware- und Web-Sicherheit ermöglichen es mir, physische Geräte und Online-Plattformen vor einer Vielzahl von Cyberbedrohungen zu schützen und ihre Integrität und Zuverlässigkeit zu gewährleisten.