XSS injiziert bösartiges JavaScript in Webseiten. Wenn andere User die Seite laden, führt ihr Browser das Script aus - Cookies gestohlen, Aktionen ausgeführt. Typen: Reflected, Stored, DOM-based.
detaillierte erklärung
Cross-Site Scripting (XSS) ist eine Injection-Schwachstelle, bei der Angreifer schadhaftes JavaScript in Webseiten einschleusen. Die App gibt User-Input ungefiltert im HTML aus - der Browser des Opfers führt das Script aus. Drei Typen: 1) Reflected XSS - Script im URL-Parameter, wird im Response reflektiert (nicht persistent, via Link verbreitet). 2) Stored XSS - Script in Datenbank gespeichert (Forum-Post, Kommentar), jeder Besucher führt es aus (persistent, gefährlicher). 3) DOM-based XSS - Client-seitiges JavaScript verarbeitet unsichere Daten (z.B. location.hash), modifiziert DOM unsicher. Konsequenzen: Session-Cookie-Diebstahl (Session Hijacking), Credential-Phishing, Defacement, Malware-Umleitung. Schutzmaßnahmen: Output-Encoding (HTML-Entities für <>&"), Input-Validation (Whitelist), Content-Security-Policy (CSP blockt Inline-Scripts), HTTPOnly-Cookies (JavaScript kann nicht zugreifen). Ineffektiv: Nur Input-Filter (Bypässe), Blacklists (unvollständig).
warum ist das wichtig?
XSS ist eine der häufigsten Web-Schwachstellen (OWASP Top 10). Du musst die drei Typen unterscheiden, Payloads erkennen und CSP als Mitigation verstehen. Essentiell für jede Web-Pentesting-Zertifizierung (CEH, OSCP-Web).
häufige fehler
⚠XSS betrifft nur den Server - Nein, primär Client-seitiger Angriff (Browser des Opfers)
⚠Input-Validation verhindert XSS komplett - Nein, Output-Encoding ist entscheidend
⚠Nur <script>-Tags sind gefährlich - Nein, auch Event-Handler (onerror), SVG, javascript: URLs