2011-03-20 12 views
5

Estoy usando un editor de texto enriquecido (CKEditor) y tengo la oportunidad de permitir a los usuarios crear perfiles que se muestran a otros usuarios.¿<span style = ...> es seguro para desinfectar?

Muchos de los atributos de CKEditor puede controlar se están perdiendo cuando les Mostrar como:

<%= sanitize(profile.body) %> 

Mi pregunta es: ¿Es seguro permitir que el atributo 'estilo' que ser analizado? Esto permitiría que se muestren cosas como el color del texto, el tamaño, el color de fondo, el centrado, la indentación, etc. Solo quiero asegurarme de que no permita el acceso de un hacker a algo que desconozco.

Respuesta

15

¿es seguro permitir que se analice el atributo 'estilo'?

background-image: url(javascript:[code]); 
width: expression([code]);     /* ie */ 
behavior: url([link to code]);    /* ie */ 
-moz-binding: url([link to code]);   /* ff */ 

Por no hablar de los ataques de suplantación de la interfaz de usuario-como la colocación de un formulario de acceso falsa sobre una de verdad o algo así.

+0

¡ja! Muchas gracias, tuve la sensación :) – sscirrus

+0

Ver también [Inyección CSS] (http://guides.rubyonrails.org/security.html#css-injection) – Zabba

+0

Esto muestra nuevamente que no se puede estar seguro con la inclusión en la lista negra. Si no hubiera pensado en poner en la lista negra las reglas de url en CSS, ahora tendría un problema. Ni siquiera se puede generar una cadena CSS, realmente se necesita analizar completamente y solo generar el DOM analizado. – usr

Cuestiones relacionadas