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

Instant 27001 ist eine Lösung, die beim Aufbau und dem Betrieb eines ISMS nach ISO 27001 enorm viel Zeit und Geld spart. Anwender profitieren nicht nur von der Tatsache, dass Instant 27001 alle notwendigen Bestandteile...
Wussten Sie, dass zahlreiche ISO-Normen hinsichtlich ihrer Grundstruktur (Kapitel 4 bis 10) weitgehend harmonisiert sind? Für die internationalen Normen ISO 9001 (Qualitätsmanagement) und ISO 27001 (Informationssicherheitsmanagement / ISMS) trifft dies zu. Diese Harmonisierung ermöglicht es,...
Privilegien-Eskalationen in Anwendungen – oft auch als Rechte-Ausweitung bezeichnet – sind Schwachstellen, die es Angreifern oder auch regulären Nutzern ermöglichen, auf Daten, Informationen oder Systemfunktionen zuzugreifen, für die sie keine Berechtigung haben. Angreifer können sich...