Securam Consulting Logo

Das große IT-Security-Glossar

Definition:

Reflected XSS


Was ist Reflected XSS?

Reflected XSS (Reflektiertes Cross-Site Scripting) ist eine Web-Sicherheitsschwachstelle, bei der Schadcode über URL-Parameter oder Formularfelder an den Server gesendet und sofort im Response an den Benutzer zurückgegeben wird. Im Gegensatz zu persistenten XSS-Angriffen wird der Schadcode nicht gespeichert, sondern wirkt nur temporär – typischerweise beim einmaligen Anklicken eines präparierten Links.

Diese Art von Angriff tritt auf, wenn Anwendungen Benutzereingaben ungefiltert oder nicht korrekt kontextualisiert in den HTML-Output einbinden. Dadurch kann z. B. JavaScript im Browser des Opfers ausgeführt werden.


Wichtige Reflected-XSS-Ressourcen

  • DAST-Tools (Dynamic Application Security Testing)
    → Automatisierte Scanner zur Erkennung reflektierter XSS-Schwachstellen in Webanwendungen.

  • Contextual Output Encoding
    → Technik, um Benutzereingaben abhängig vom Kontext korrekt zu maskieren (z. B. HTML, JavaScript, URL).

  • Content Security Policy (CSP)
    → Web-Sicherheitsheader, die die Ausführung von nicht autorisierten Skripten einschränken.

  • Whitelist-Validierung
    → Validierung von Eingabewerten gegen erlaubte Muster, um gefährliche Zeichen auszuschließen.

  • HTML-Entity-Encoding
    → Umwandlung potenziell gefährlicher Zeichen wie <, >, " in sichere HTML-Entitäten.


Anwendung in der Praxis

  • Social Engineering: Angreifer versenden XSS-verseuchte Links per E-Mail oder Messenger.

  • Reflected Response: Die Anwendung spiegelt die Eingabe (z. B. ?q=<script>) im HTML-Code wider.

  • Exploit-Ziel: Die Ausführung von JavaScript im Browser ermöglicht z. B. Session-Diebstahl.

  • Erkennung: Sicherheitsanalysen prüfen gezielt auf reflektierende Parameter.

  • Prävention: Durchgängig korrektes Encoding, CSP-Header und sichere Frameworks verhindern XSS.


Verwandte Begriffe


Beispiel aus der Praxis

Ein Onlineformular zur Produktsuche übernimmt den Query-Parameter q und zeigt ihn ungefiltert im Suchergebnis an. Ein Angreifer versendet einen präparierten Link wie https://shop.example.com/search?q=<script>alert('XSS')</script>. Beim Aufruf führt die Webseite den Schadcode im Browser des Opfers aus. Nach Analyse stellt das Entwicklungsteam fest, dass kein HTML-Encoding stattfand. Durch kontextabhängiges Encoding und die Einführung einer Content-Security-Policy kann der Angriff nachhaltig verhindert werden.