¿Cuáles son las implicaciones de seguridad de habilitar CORS para imágenes?

4

La empresa para la que trabajo ejecuta un servidor de fotos de perfil de usuario. Me gustaría buscar, modificar visualmente (agregar un desenfoque, algunos efectos, etc.) y mostrar esas imágenes en <canvas> . El problema es que el servidor de fotos está ubicado en un origen diferente y cuando agrego una imagen recuperada al lienzo, obtiene contaminado , lo que me impide trabajar con la imagen.

¿Hay implicaciones de seguridad en habilitar CORS para imágenes? ¿Qué puede hacer una persona maliciosa?

    
pregunta Oleg 27.05.2016 - 18:09
fuente

1 respuesta

3

Depende de cómo lo configures. Si permite las solicitudes de origen cruzado desde cualquier dominio, entonces un atacante que encuentre las URL de imágenes puede hacer cualquier cosa que pueda hacer dentro de su aplicación de Javascript: la seguridad es exactamente la misma que la que tiene. Si restringes las solicitudes a tu servidor de aplicaciones específico, no deberían poder hacer nada, como no puedes en este momento.

CORS tiene como objetivo evitar ataques del lado del cliente, como cargar una imagen que el sitio remoto no puede ver (con una etiqueta de imagen en, por ejemplo, un servidor de Facebook), luego copiar el contenido a su servidor sin que el cliente esté consciente. Por lo tanto, la situación que describe es exactamente lo que maneja bien.

En este caso, es más importante que todas las funciones para guardar las imágenes modificadas en el servidor sean seguras, ya que podrían comprometer al servidor, o simplemente en sitios de terceros que utilizan su sistema como una forma de almacenar sus imágenes. No olvide que incluso con CORS habilitado, un atacante puede cargar fácilmente imágenes directamente desde su servidor si no realiza los pasos de autenticación adecuados, por ejemplo, ejecutando un comando cURL en la URL de la imagen.

    
respondido por el Matthew 27.05.2016 - 18:29
fuente

Lea otras preguntas en las etiquetas