Czy można zastosować skrypty cross site w arkuszu stylów CSS? Na przykład referencyjny arkusz stylów zawiera złośliwy kod, jak by to zrobić? Wiem, że możesz używać znaczników stylu, ale co z arkuszami stylów?Skrypty krzyżowe w arkuszu stylów CSS
Odpowiedz
Ryzyko realizacji JavaScript. Jako mało znana funkcja, niektóre implementacje CSS zezwalają na osadzanie kodu JavaScript w arkuszach stylów. Istnieją co najmniej trzy sposoby osiągnięcia tego celu: za pomocą dyrektywy expression (...), która daje możliwość oceny dowolnych instrukcji JavaScript i wykorzystania ich wartości jako parametru CSS; za pomocą dyrektywy url (javascript: ...) dotyczącej właściwości, które ją obsługują; lub przez wywołanie funkcji specyficznych dla przeglądarki, takich jak -moz-binding mechanism of Firefox.
... i po przeczytaniu tego, znajduję to na StackOverflow. Zobacz: Using Javascript in CSS W przeglądarce Firefox można użyć XBL do wstrzyknięcia javascript na stronę za pomocą CSS. Jednak plik XBL musi znajdować się w tej samej domenie, teraz: bug 324253 is fixed.
Istnieje jeszcze jeden ciekawy (choć inny niż twoje pytanie) sposób nadużywania CSS. Zobacz http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html. Zasadniczo niewłaściwie używasz parsera CSS do kradzieży treści z innej domeny.
tak wezwanie Xsstc, czytaj więcej w tym artykule:
http://www.tralfamadore.com/2008/08/xsstc-cross-site-scripting-through-css.html
Projekt OWASP Mutillidae ma CSS przykład podatności wtryskowa na stronie: http://localhost/mutillidae/index.php?page=set-background-color.php
Oczywiście musisz ustawić ENV lokalnie pierwszy. Można pobrać i ustawić go na localhost z poniższego linku: https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project
Oto istotne podpowiedź: https://github.com/hyprwired/mutillidae/blob/master/includes/hints-level-1/cascading-style-sheet-injection-hint.inc
Słyszałem o tym podręczniku, ale nie sądziłem, że warto przeczytać. Teraz ja robię. Dziękuję za odpowiedź. :) Tak więc IE8 nie obsługuje funkcji expression() w trybie standardowym. (Pomyślałem, że wspomnę) – Johnny