Nr Wie dieses Beispiel veranschaulicht perfekt, Javascript (oder jedes Scripting) keinen Platz in CSS hat daher XSS (die zweite S für 'Scripting') ist nicht möglich. CSS sollte nur deklarativ sein und wird, wenn es den W3-Standards entspricht, implementiert. Dynamische Ausdrücke sind nun mit calc
erledigt, die nur einfache mathematische Ausdrücke auswerten können, ohne auf die JS-Engine zurückzugreifen.
expression
war ein IE-only-Hack, um bestimmte Funktionen zu erleichtern, bis W3 mit einer Alternative kam. Als calc
erschien, war expression
veraltet. Beginnend mit IE11, expression
is no longer supported in the Internet Zone. Es war announced in 2008, dass es auf diese Weise enden würde, unter Berufung auf ', um die Angriffsfläche zu reduzieren' als einer der Hauptgründe. In älteren Versionen als IE11 wird es schon seit einiger Zeit nur noch in quirks mode und IE7 Emulationsmodus unterstützt.
Zusammenfassung: CSS hat keinen Platz für Javascript und kann daher nicht mit XSS angegriffen werden, wenn es korrekt implementiert wird, wie es in jedem aktuellen Browser der Fall ist.
Wenn der HTML-Code dynamisch als Text erstellt wird und die für das style-Attribut (z. B.) verwendeten Daten nicht maskiert werden, ist HTML-Injektion weiterhin möglich. aber ich vermute, dass das nicht gefragt wird. – user2864740
Können Sie erklären, wofür Sie das verwenden möchten? Es kann Alternativen geben. – easwee