Zum Inhalt springen

Services, Wiki-Artikel, Blog-Beiträge und Glossar-Einträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
Web Application Security Glossar

XSS (Cross-Site Scripting)

Cross-Site Scripting ist ein Angriff, bei dem ein Angreifer schädlichen JavaScript-Code in Webseiten einschleust, der dann im Browser anderer Nutzer ausgeführt wird und Session-Hijacking, Phishing oder Malware-Verteilung ermöglicht.

Cross-Site Scripting (XSS) ist eine der häufigsten Schwachstellen in Webanwendungen. Im Gegensatz zu SQL Injection greift XSS nicht den Server an, sondern nutzt den Browser des Opfers als Angriffswerkzeug.

XSS-Typen

Reflected XSS: Der schädliche Code ist Teil der HTTP-Anfrage (z. B. URL-Parameter) und wird sofort in der Antwort reflektiert. Erfordert, dass das Opfer einen präparierten Link anklickt.

Stored XSS: Der schädliche Code wird dauerhaft in der Datenbank gespeichert (z. B. in Kommentarfeldern, Benutzerprofilen) und bei jedem Seitenaufruf anderer Nutzer ausgeführt. Besonders gefährlich.

DOM-based XSS: Der Angriff erfolgt vollständig clientseitig, indem JavaScript das DOM auf Basis von nicht-validierten Nutzerinputs manipuliert. Nicht im HTTP-Response sichtbar, daher schwerer zu erkennen.

Auswirkungen

  • Session Hijacking: Stehlen von Sitzungscookies → Account-Übernahme
  • Credential Harvesting: Gefälschte Login-Formulare im Kontext der echten Website
  • Malware-Distribution: Drive-by-Downloads durch XSS
  • Keylogging: Aufzeichnung von Tastatureingaben
  • CSRF-Bypass: XSS kann CSRF-Tokens stehlen

Schutzmaßnahmen

  • Output Encoding: Alle Nutzerdaten müssen kontextabhängig escaped werden (HTML-Entities, JS-Encoding)
  • Content Security Policy (CSP): HTTP-Header, der inline JavaScript und unbekannte Script-Quellen blockiert
  • Sanitization: Vor der Speicherung in der Datenbank
  • HttpOnly- und Secure-Cookies: Verhindert JavaScript-Zugriff auf Session-Cookies
  • Modern Frontend Frameworks: React, Angular, Vue escapen standardmäßig, wenn korrekt verwendet

Cookielose Analyse via Matomo (selbst gehostet, kein Tracking-Cookie). Datenschutzerklärung