2010-08-31 5 views
35

Est-il possible d'utiliser un script intersite dans une feuille de style CSS? Par exemple, une feuille de style de référence contient du code malveillant, comment le feriez-vous? Je sais que vous pouvez utiliser des étiquettes de style, mais qu'en est-il des feuilles de style?Scripts intersites dans les feuilles de style CSS

Répondre

32

De l'browser security handbook

Le risque d'exécution JavaScript. Comme une fonctionnalité peu connue, certaines implémentations CSS permettent d'incorporer du code JavaScript dans les feuilles de style. Il y a au moins trois façons d'atteindre cet objectif: en utilisant la directive expression (...), qui permet d'évaluer des instructions JavaScript arbitraires et d'utiliser leur valeur en tant que paramètre CSS; en utilisant la directive url ('javascript: ...') sur les propriétés qui le supportent; ou en invoquant des fonctionnalités spécifiques au navigateur telles que -moz-binding mechanism of Firefox.

... et après avoir lu cela, je le trouve sur StackOverflow. Voir Using Javascript in CSS Dans Firefox, vous pouvez utiliser XBL pour injecter javascript dans une page via CSS. Toutefois, le fichier XBL doit résider dans le même domaine, maintenant bug 324253 is fixed.

Il existe une autre manière intéressante (bien que différente de votre question) d'abuser des CSS. Voir http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html. Essentiellement, vous utilisez abusivement l'analyseur CSS pour voler le contenu d'un domaine différent.

+0

J'ai entendu parler de ce manuel, mais je ne pensais pas que ça valait le coup d'être lu. Maintenant oui. Merci d'avoir répondu. :) Donc, IE8 ne supporte pas expression() en mode standard. (Juste pensé que je mentionnerais) – Johnny

3

Le projet OWASP Mutillidae a un exemple de vulnérabilité d'injection Cascading Style à la page: http://localhost/mutillidae/index.php?page=set-background-color.php

Bien sûr, vous devez configurer env localement d'abord. Vous pouvez télécharger et l'installer sur votre ordinateur local à partir du lien suivant: https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project

Voici l'indice pertinent: https://github.com/hyprwired/mutillidae/blob/master/includes/hints-level-1/cascading-style-sheet-injection-hint.inc

+0

Pourriez-vous s'il vous plaît dites-moi pourquoi downvote? – ZillGate

+2

Je ne sais pas pourquoi downvote mais le premier lien cible votre machine localhost. – Tomor

+1

@Tomor C'est un environnement expérimental et ne devrait être utilisé que localement. J'ai ajouté quelques explications. Merci! – ZillGate

Questions connexes