Kann Cross-Site-Scripting in einem CSS-Stylesheet verwendet werden? Zum Beispiel enthält ein Referenz-Stylesheet bösartigen Code, wie würden Sie das tun? Ich weiß, dass Sie Style-Tags verwenden können, aber was ist mit Stylesheets?Cross Site Scripting in CSS-Stylesheets
Antwort
Das Risiko der Ausführung von JavaScript. Als wenig bekannte Eigenschaft erlauben einige CSS-Implementierungen, dass JavaScript-Code in Stylesheets eingebettet wird. Es gibt mindestens drei Möglichkeiten, dieses Ziel zu erreichen: Durch die Verwendung der Anweisung expression (...) können beliebige JavaScript-Anweisungen ausgewertet und deren Wert als CSS-Parameter verwendet werden. mit der Direktive url ('javascript: ...') für Eigenschaften, die es unterstützen; oder indem browserspezifische Funktionen wie die -moz-binding mechanism of Firefox aufgerufen werden.
... und nachdem ich das gelesen habe, finde ich dies auf StackOverflow. Siehe Using Javascript in CSS In Firefox können Sie XBL verwenden, um JavaScript über CSS in eine Seite zu injizieren. Die XBL-Datei muss sich jedoch in derselben Domäne befinden, jetzt bug 324253 is fixed.
Es gibt eine andere interessante (wenn auch anders als Ihre Frage) Möglichkeit, CSS zu missbrauchen. Siehe http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html. Im Wesentlichen missbrauchen Sie den CSS-Parser, um Inhalte aus einer anderen Domäne zu stehlen.
ja seine Forderung Xsstc, mehr in diesem Artikel lesen:
http://www.tralfamadore.com/2008/08/xsstc-cross-site-scripting-through-css.html
Das OWASP Mutillidae Projekt hat ein Cascading Style Injection Verwundbarkeit Beispiel auf Seite: http://localhost/mutillidae/index.php?page=set-background-color.php
Natürlich müssen Sie zunächst lokal die env-Setup. Sie können es auf Ihrem lokalen Host auf den folgenden Link herunterladen und einrichten: https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project
Hier der entsprechende Hinweis ist: https://github.com/hyprwired/mutillidae/blob/master/includes/hints-level-1/cascading-style-sheet-injection-hint.inc
Ich habe von diesem Handbuch gehört, aber nicht gedacht, dass es eine Lektüre wert war. Jetzt mache ich. Danke für die Antwort. :) Also IE8 unterstützt Ausdruck() im Standardmodus nicht. (Nur gedacht, ich würde erwähnen) – Johnny