2010-08-31 15 views
35

È possibile utilizzare lo scripting cross-site in un foglio di stile CSS? Ad esempio un foglio di stile di riferimento contiene codice dannoso, come faresti? So che puoi usare i tag di stile ma che dire dei fogli di stile?Script Cross Site in fogli di stile CSS

risposta

32

Dal browser security handbook

Il rischio di esecuzione di JavaScript. Come caratteristica poco conosciuta, alcune implementazioni CSS consentono di incorporare il codice JavaScript nei fogli di stile. Ci sono almeno tre modi per raggiungere questo obiettivo: usando la direttiva expression (...), che dà la possibilità di valutare istruzioni arbitrarie di JavaScript e usare il loro valore come parametro CSS; usando la direttiva url ('javascript: ...') sulle proprietà che la supportano; o richiamando funzionalità specifiche del browser come lo -moz-binding mechanism of Firefox.

... e dopo averlo letto, lo trovo su StackOverflow. Vedi Using Javascript in CSS In Firefox, è possibile utilizzare XBL per iniettare javascript in una pagina tramite CSS. Tuttavia, il file XBL deve risiedere nello stesso dominio, ora quello bug 324253 is fixed.

C'è un altro modo interessante (anche se diverso dalla tua domanda) di abusare dei CSS. Vedi http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html. In sostanza, si usa impropriamente il parser CSS per sottrarre contenuti da un dominio diverso.

+0

Ho sentito parlare di quel manuale ma non pensavo che valesse la pena leggerlo. Ora faccio. Grazie per la risposta. :) Quindi IE8 non supporta expression() in modalità standard. (Ho solo pensato di menzionare) – Johnny

3

Il progetto OWASP Mutillidae ha un esempio di vulnerabilità iniezione Cascading Style a pagina: http://localhost/mutillidae/index.php?page=set-background-color.php

Naturalmente, è necessario impostare l'ENV localmente prima. È possibile scaricare e installarla sul vostro localhost dal seguente link: https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project

Ecco il suggerimento relativo: https://github.com/hyprwired/mutillidae/blob/master/includes/hints-level-1/cascading-style-sheet-injection-hint.inc

+0

Potresti dirmi perché downvote? – ZillGate

+2

Non so perché downvote, ma il primo link punta al tuo computer localhost. – Tomor

+1

@Tomor È un ambiente sperimentale e deve essere utilizzato solo localmente. Ho aggiunto alcune spiegazioni. Grazie! – ZillGate