Cross-Site-Scripting (XSS)
Bei Cross-Site-Scripting (XSS) schleust ein Angreifer eigenen Skriptcode in eine Webseite ein. Der Code läuft im Browser anderer Besucher und kann dort Sitzungen oder Eingaben abgreifen.
Ausführliche Erklärung
Die Seite gibt Eingaben von Nutzern ungeprüft wieder, etwa in Kommentaren oder Suchergebnissen. Der Browser des Besuchers hält den eingeschleusten Code für einen Teil der Seite und führt ihn aus.
Arten
- Reflektiert: Der Code steckt in einem präparierten Link, den das Opfer anklickt
- Gespeichert: Der Code liegt dauerhaft in den Daten der Seite und trifft jeden Besucher
- DOM-basiert: Die Schwachstelle liegt im Skript der Seite im Browser selbst
Schutz
- Ausgaben je nach Kontext kodieren (HTML, Attribut, JavaScript). Moderne Frameworks erledigen das standardmäßig
- Eine Content-Security-Policy begrenzt, welche Skripte überhaupt laufen dürfen
- Sitzungs-Cookies mit den Flags HttpOnly und Secure setzen
- Regelmäßige Penetrationstests und eine WAF als zusätzliche Schicht
Softwareentwicklung
Ihr Vorhaben technisch einordnen
Im kostenlosen Erstgespräch von 30 Minuten schildern Sie Ihr Vorhaben. Wir sagen, welche Technik passt und wie wir Umsetzung und Betrieb angehen.