Cross Site Scripting en Hojas de estilo CSS


¿Es posible usar cross site scripting en una hoja de estilos CSS? Por ejemplo, una hoja de estilos de referencia contiene código malicioso, ¿cómo lo haría? Sé que puedes usar etiquetas de estilo, pero ¿qué pasa con las hojas de estilo?

 40
Author: Johnny, 2010-08-31

3 answers

Del manual de seguridad del navegador

El riesgo de ejecución de JavaScript. Como una característica poco conocida, algunas implementaciones CSS permiten incrustar código JavaScript en hojas de estilo. Hay al menos tres maneras de lograr este objetivo: mediante el uso de la expresión(...) directiva, que da la capacidad de evaluar sentencias JavaScript arbitrarias y utilizar su valor como un parámetro CSS; mediante el uso de la url ('javascript:...") directiva sobre las propiedades que la sustentan; o invocando características específicas del navegador como el mecanismo-moz-binding de Firefox .

... y después de leer eso, encuentro esto en StackOverflow. Ver Usando Javascript en CSS En Firefox, puedes usar XBL para inyectar javascript en una página a través de CSS. Sin embargo, el archivo XBL debe residir en el mismo dominio, ahora que se ha solucionado el error 324253.

Hay otra forma interesante (aunque diferente de tu pregunta) de abusar de CSS. Ver http://scarybeastsecurity.blogspot.com/2009/12/generic-cross-browser-cross-domain.html . Esencialmente, usas mal el analizador CSS para robar contenido de un dominio diferente.

 35
Author: Sripathi Krishnan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:13
 3
Author: Haim Evgi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-31 09:56:15

El proyecto OWASP Mutillidae tiene un ejemplo de vulnerabilidad de inyección de estilo en cascada en la página: http://localhost/mutillidae/index.php?page = set-background-color.php

Por supuesto, primero debe configurar el env localmente. Puede descargarlo y configurarlo en su localhost desde el siguiente enlace: https://www.owasp.org/index.php/OWASP_Mutillidae_2_Project

Aquí está la información relevante sugerencia: https://github.com/hyprwired/mutillidae/blob/master/includes/hints-level-1/cascading-style-sheet-injection-hint.inc

 3
Author: ZillGate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-22 21:22:28