BaseKit bug XSS Advisory
Hace casi un mes y medio me puse en contacto con la empresa BaseKit.com para avisarles de un bug XSS (Cross Site Scripting) en sus sistemas. Según me dijeron en 15 días (o menos) estaría solucionado, pero ya ha pasado casi el triple de tiempo y no lo han arreglado, así que he decidido publicarlo.
BaseKit es una compañía que vende un servicio online para diseñar páginas web a través de un editor online, aparte de otros servicios integrados como el propio hosting de las páginas web. Según su publicidad se han creado unas 228.000 webs utilizando sus servicios.
Su sistema utiliza el módulo de HTTP rewrite, diseñado de una forma por la que nunca se alcanza un error HTTP 404. Todas las URL’s generan el siguiente código HTML:
<link rel=»stylesheet» type=»text/css» href=»http://DOMAIN.COM/PATH?startcss=true» />
PATH no es filtrado de ninguna manera, por lo tanto se puede poner código HTML en la URL y será copiado al código HTML de la página.
Por ejemplo, la URL:
http://DOMAIN.COM/»><script>alert(document.cookie);</script>
será copiada como:
<link rel=»stylesheet» type=»text/css» href=»http://DOMAIN.COM/»><script>alert(document.cookie);</script>?startcss=true» />
De esta forma es posible inyectar código javascript en el código fuente de todas las páginas web creadas en BaseKit.com.
Viendo su página web aparecen varios ejemplos de webs creadas con sus sistemas, en las que se puede comprobar la inyección javascript, como por ejemplo en:
http://www.instalcesped.com/»><script>alert(document.cookie);</script>