¿La base64 que codifica una imagen y la almacena en una base de datos presenta un riesgo para XSS?

6

Ok, aquí hay un escenario para ti aquí.

Tienes una base de datos. Tiene una tabla en ella que almacenará pequeñas imágenes PNG de 30x30 píxeles. Están codificados en base64. Se mostrarán como un avatar para el perfil.

He visto trucos en el pasado con XSS que usan etiquetas de imagen para recuperar el código javascript.

 <IMG SRC="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode">

¿Se puede hacer esto con una imagen codificada en base64? ¿Un atacante es capaz de crear algo que pueda introducir este tipo de riesgo? Si es así, ¿qué puedo hacer para mitigar la amenaza?

    
pregunta Meh 17.03.2015 - 03:32
fuente

1 respuesta

13

Suponiendo que esté manejando los datos de la imagen de manera sensata, no. Los datos nunca se colocan en un lugar donde se pueda ver como un código.

Incluso si no estás manejando los datos de la imagen de una manera sensata, probablemente no. En el "alfabeto" de base64 faltan algunos de los caracteres esenciales para producir Javascript útil: solo hay tanto que puedes hacer con + , / , = y los caracteres alfanuméricos. Sin paréntesis, corchetes, punto y coma, espacios o comillas, no puede crear una inyección de SQL o una llamada de función de Javascript.

    
respondido por el Mark 17.03.2015 - 05:25
fuente

Lea otras preguntas en las etiquetas