DOM-basierter XSS
Was ist DOM-basierter XSS?
DOM-basierter XSSXSS-Variante, bei der Injektion und Ausführung vollständig im Browser stattfinden, weil clientseitiges JavaScript ungeprüfte Daten in einen Sink schreibt.
DOM-basierter XSS (Typ 0) ist eine Cross-Site-Scripting-Schwachstelle, deren Ursache ausschließlich im clientseitigen Code liegt. Eine Datenquelle wie location.hash, document.referrer, window.name, postMessage oder localStorage wird ohne Sanitisierung an einen gefährlichen DOM-Sink (innerHTML, document.write, eval, jQuery.html) übergeben. Da der Server die Payload nie sieht, bleibt die Schwachstelle für klassische WAFs und Server-Logs unsichtbar. Schutz bieten sichere APIs wie textContent, Trusted Types in modernen Browsern, eine strikte Content Security Policy und Analysewerkzeuge, die Tainted-Data-Flows von Quellen zu Sinks verfolgen.
● Beispiele
- 01
document.getElementById('out').innerHTML = location.hash.substring(1);
- 02
Ein SPA-Router rendert window.location ungeprüft als HTML in einen Template-Slot.
● Häufige Fragen
Was ist DOM-basierter XSS?
XSS-Variante, bei der Injektion und Ausführung vollständig im Browser stattfinden, weil clientseitiges JavaScript ungeprüfte Daten in einen Sink schreibt. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.
Was bedeutet DOM-basierter XSS?
XSS-Variante, bei der Injektion und Ausführung vollständig im Browser stattfinden, weil clientseitiges JavaScript ungeprüfte Daten in einen Sink schreibt.
Wie schützt man sich gegen DOM-basierter XSS?
Schutzmaßnahmen gegen DOM-basierter XSS kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für DOM-basierter XSS?
Übliche alternative Bezeichnungen: Typ-0-XSS, Clientseitiges XSS.