Cross-Site-Scripting (oft auch kurz als XSS bezeichnet) ist eine Sicherheitslücke in Webseiten und -applikationen, die es Angreifern ermöglicht, die Interaktionen von Benutzern mit einer anfälligen Anwendung zu manipulieren. Technisch wird dabei die sogenannte „Same Origin Policy“ des Web-Browsers umgangen. Dies führt dazu, dass Hacker sich als regulärer User ausgeben und als solcher mit den entsprechenden Rechten agieren können.

Beispielsweise kann so auf alle Daten des Benutzers zugegriffen werden. Sofern der User über privilegierte Zugriffsrechte innerhalb der Anwendung verfügt, können Angreifer unter Umständen sogar die vollständige Kontrolle über alle Funktionen und Daten der Anwendung erlangen.

Wie funktioniert XSS?

Üblicherweise versuchen Angreifer, anfällige Webseiten so zu manipulieren, dass bösartiger JavaScript-Code an den Browser eines Benutzers ausgespielt wird. Wenn der Browser den Code ausführt – was bei Vorhandensein der Schwachstelle meist der Fall ist – sind verschiedene Schadenszenarien denkbar: Die Verseuchung des Benutzer-Rechners mit Schadcode, der Zugriff auf sensitive Daten oder gar die Manipulation von Informationen mit den Userrechten.

Welche Arten von XSS gibt es?

Bei der so genannte „_Reflected XSS_“-Variante wird das bösartige Skript in der aktuellen HTTP(S)-Anfrage durch den Angreifer eingeschleust, während bei der „_Stored XSS_“-Variante der Schadcode aus der Datenhaltung der Webseite (z.B. einer Datenbank) geladen wird.

Der Hacker war vorher in der Lage, einen entsprechenden Code dort einzuschleusen – z.B. über die Kommentar- oder Chatfunktion oder auch über die Möglichkeit, Anhänge in die Webapplikation hochzuladen.

Die „Stored XSS“-Variante ist die Gefährlichste, weil es möglich ist, Schadcode mit wenig Aufwand an viele Benutzer zu verteilen. Die zusätzliche Variante „_DOM-based XSS_“ tritt auf, wenn eine Anwendung ein client-seitiges JavaScript enthält, das Daten aus einer nicht vertrauenswürdigen Quelle auf unsichere Weise verarbeitet. Diese nicht vertrauenswürdige Quelle ist üblicherweise ein Server, den der Hacker kontrolliert und über den Schadcode nachgeladen wird.

„… und was hat unsere Organisation damit zu tun?“

Jede Organisation, die Software auf Basis von Webtechnologien selbst entwickelt oder im Auftrag entwickeln lässt, ist potenziell von solchen Schwachstellen betroffen. Häufig sind sich Entwickler der Problematik nicht bewusst und achten beim Programmieren von Anwendungen nicht ausreichend darauf, ihre Applikationen im Hinblick auf XSS und andere Schwachstellen abzusichern. Es drohen enorme finanzielle Risiken und Reputationsschäden, wenn Angreifern es beispielsweise gelingt, vertrauliche Daten aus Apps zu stehlen.

So können Sie Ihre Organisation schützen?

XSS-Schwachstellen sind von außen praktisch nicht zu erkennen. Ein Penetration Test ist erforderlich, um solche potenziellen Einfallstore zu identifizieren. Gerne beraten wir Sie hierbei – sprechen Sie uns einfach an!

Foto: Luca Bravo 

Tags

Beitrag teilen

Weitere Artikel

Lesen wir die ISO-Norm 27001:2013 oder den Entwurf der neuen 27001:2022 aufmerksam, stellen wir fest: Die Begriffe Penetration Testing und Vulnerability Scanning sind explizit weder als Maßnahmen als auch im Anforderungstext erwähnt. Die ISO 27002...
Eine der größten Herausforderungen beim Aufbau und dem Betrieb von Informationssicherheitsmanagementsystemen nach ISO 27001 ist die angemessene Dokumentation. Diese ist Gegenstand der Überprüfungen beim Audit und dient der Organisation auch im Tagesgeschäft dazu, alle implementierten...
Ob Personaldaten, vertrauliche technische Entwürfe oder laufende Forschungsdokumentationen – Informationen im Geschäftsalltag systematisch zu schützen, ist für Unternehmen jeder Größe eine Herausforderung. Ohne feste Regeln, Abläufe und Zuständigkeiten, wie es ein Informationssicherheitsmanagementsystem nach ISO 27001...