CyberGlossary

Angriffe und Bedrohungen

Cross-Site-Scripting (XSS)

Auch bekannt als: XSS

Definition

Web-Schwachstelle, mit der Angreifer bösartige Skripte in Seiten injizieren, die andere Nutzer öffnen, sodass der Code im Browser des Opfers unter der Origin der Seite ausgeführt wird.

Cross-Site-Scripting (XSS) entsteht, wenn eine Webanwendung nicht vertrauenswürdige Eingaben ohne korrekte Escaping- oder Sanitization-Schritte in ihre Antworten einbettet, sodass vom Angreifer kontrolliertes JavaScript im Browser des Opfers ausgeführt wird. Die drei Hauptklassen sind reflektiertes XSS (Payload aus der Anfrage zurückgeworfen), gespeichertes XSS (Payload serverseitig persistiert, z. B. in Kommentaren) und DOM-basiertes XSS (Schwachstelle im Client-Code). Erfolgreiches XSS kann Sessions kapern, Tokens stehlen, Seiten defacen, Malware ausliefern oder mit SSRF und CSRF verkettet werden. Schutz bieten kontextsensitives Output-Encoding, eine strikte Content-Security-Policy, sichere Template-Engines, HTTPOnly- und SameSite-Cookies sowie Eingabevalidierung.

Beispiele

  • Eine gespeicherte XSS-Payload in einem Forenbeitrag stiehlt die Session-Cookies aller Leser des Threads.
  • Ein reflektiertes XSS in einem Suchparameter führt JavaScript des Angreifers über einen präparierten Link aus.

Verwandte Begriffe