El CSS y tus huellas en la red

Leo y cito

Mediante "trucos" de manejo de CSS, se puede obtener la lista de sitios que fueron visitados por tu navegador. Pero veamos antes en Wikipedia de qué hablamos cuando hablamos de CSS: "Las hojas de estilo en cascada (Cascading Style Sheets, CSS) son un lenguaje formal usado para definir la presentación de un documento estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World Wide Web Consortium) es el encargado de formular la especificación de las hojas de estilo que servirá de estándar para los agentes de usuario o navegadores."

Esto era antes posible sólo mediante el uso de JavaScript, ahora ni siquiera es necesario…

Todos los navegadores más importantes son vulnerables a este truco: Internet Explorer 7, Firefox 2.0.0.2 y Opera 9.10. El exploit es posible gracias a la falta de lógica condicional en CSS, los invito a leer la explicación original en inglés en el sitio http://ha.ckers.org/ –en una nota original de finales de febrero Steal Browser History Without JavaScript.

 

 

 Voy al sitio mencionado y encuentro varias cosas interesantes.  Una de ellas, es que puede utilizarse el ya casi olvidado VBScript para obtener los registros del historial mediante un CSS (aquí el script). La 'buena' noticia es que el VBScript es soportado por no muchos navegadores -diría que IE y los basados en IE únicamente- y debo decir que es buena porque limita el rango de navegadores que pueden verse afectados. No obstante, el volumen de personas que pueden ser víctimas de un script de este tipo sigue siendo realmente alto.

En una de mis ideas locas, llegué a pensar que el uso de los feeds para este tipo de acciones era mucho más factible, ya que los lectores de feeds no suelen proveer protección o bloqueo de código script. Pero uno se encuentra con la limitación de que el usuario debe acceder al feed. Y puedo decir que muchos usuarios no conocen los feeds y los pasan por alto. El CSS es mucho más amplio y obviamente, implica que basta con entrar a un sitio web para aprovecharse de la buena fe del visitante. 

 

Nico comentaba hace unos días que los navegadores deberían ser capaces de evitar este tipo de situaciones. Pero la realidad es otra ya que tienes dos tipos de tecnología del lado del servidor y del lado del usuario, que es algo que complica las cosas. 

4 Comments »

RSS feed for comments on this post. TrackBack URI

  1. En Zona Firefox he realizado un artículo sobre el tema tiempo atrás.

    http://www.zonafirefox.net/2007/03/cuidado-tu-historial-al-descubierto.html

    Sobre lo complicado que puede ser, acá el caso es que una propiedad css está haciendo referencia a un script cgi en lugar de hacerlo a una imagen. Esto no debería ser permitido. De todas formas si no utilizamos el historial no sucede nada. En el artículo que he realizado comento sobre un plugin para Firefox con el que nos evitamos el problema.

    Saludos

    Comment by Nico — March 20, 2007 #

  2. Nico,

    Dicen que la vulnerabilidad de los navegadores no está sólo en los navegadores. Sino también en las extensiones que se instalan.

    ¿A quién le creemos?

    Comment by myself — March 22, 2007 #

  3. myself,

    No se quienes serám los que ‘dicen’ eso. Pero de todas formas, personalmente no entiendo que relación puede tener una extensión con un problema en la forma que el navegador interpreta una propiedad css que se utiliza para asignar una imagen de fondo y que en este caso vemos que se puede apuntar a cualquier archivo, incluido un script cgi remoto. Esto es una barbaridad y debe ser controlado ya que está descubierto y con una prueba del caso que todos podemos comprobar. Todos los navegadores que soporten css son afectados.

    No entiendo ningun caso posible en el que una extensión / plugin / widget sea culpable de lo que el navegador no es capaz de hacer. Hasta no ver un ejemplo práctico o un descubrimiento de una vulnerabilidad en una extensión no se puede afirmar nada de eso. Y es mucho mas facil solucionar el problema de una extensión que la del navegador.

    Hay extensiones que pueden no ser seguras. Otras que aportan más seguridad. Pero las extensiones estan construidas en base al navegador. Son hojas, ramas del tronco. Sobre la base de un buen navegador uno puede desarrollar extensiones tranquilamente.

    Repito, una extensión de Firefox nos salva de que nos roben el historial. Es el único navegador que se salva de este caso.

    PD: Incluso, si llega a darse el caso de que una extensión haga vulnerable al navegador, estaríamos ante el caso de que el desarrollador de dicha extensión ha encontrado una vulnerabilidad del navegador. A fin de cuentas, el navegador debe ser el que controla la seguridad, y el responsable de que las extensiones funcionen adecuadamente. Hay mucho por explorar aun y se irán descubriendo vulnerabilidades peores y con más frecuencia.

    Saludos

    Comment by Nico — March 22, 2007 #

  4. [...] bolsanegra : El CSS y tus huellas en la red [...]

    Pingback by bolsanegra.blog » Haganle caso a Nico -que él sabe de lo que habla — March 23, 2007 #

Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.

Clicky Web Analytics