La seguridad corre el riesgo de descargar imágenes externas automáticamente desde el script

0

Estoy desarrollando un programa que genera imágenes a partir de archivos HTML llenos de datos de fuentes RSS externas. Cuando la fuente RSS contiene imágenes, necesito verificar su resolución y formato (por ejemplo, si la imagen es un GIF animado, tengo que hacer una operación para animar el renderizado final). Las actualizaciones del feed se realizan mediante un trabajo en C #, que también genera el archivo HTML. La imagen final es generada por PhantomJS (o más probablemente otra navegador sin cabeza de secuencias de comandos, ya que el desarrollo de PhantomJS se suspendió recientemente).

¿Cuáles son los riesgos de seguridad al descargar las imágenes de los enlaces RSS en C # para verificar su resolución y formato? ¿Sería más seguro comprobar todo eso? en el script JS que proporciono a PhamtomJS?

Se supone que las fuentes RSS son seguras pero aún son fuentes externas ...

    
pregunta antoninod 24.10.2018 - 10:29
fuente

2 respuestas

0

Desde mi punto de vista, debe seguir los siguientes pasos para asegurar la descarga de las imágenes.

  1. Descargue la imagen con permisos de solo lectura en el cuadro.
  2. Verifique el formato del archivo recibido (por ejemplo, con la biblioteca libmagic que le dirá si es una imagen real con gran probabilidad).
  3. Abra el archivo con su programa para leer la resolución y otros valores.
  4. Eliminar el archivo.

Entonces, en caso de que descargue un archivo ejecutable al que alguien en Internet cambie el nombre a .jpg, los pasos 2 y 3 fallarán.

Probablemente espere hasta que otros usuarios le den otras opciones útiles.

    
respondido por el camp0 24.10.2018 - 10:45
fuente
0

La pregunta considerada sobre el impacto de la seguridad podría estar relacionada con la vulnerabilidad de la carga de archivos sin restricciones (consulte OWASP Carga de archivos sin restricciones ).

Como la fuente RSS es un sistema externo, el contenido de esos sistemas no puede considerarse de confianza. El tipo MIME de este contenido se debe validar y las imágenes deben limpiarse antes de que se coloquen en el servidor para su uso.

Por favor, vea el posible ataque clásico abajo:

  • Un código malicioso colocado después del contenido de la imagen. La aplicación permite incluir archivos durante la ejecución (por ejemplo, con funciones como php include ). Como resultado, se ejecutará el código de la imagen.
  • Genere un archivo phar basado en el contenido de la imagen. Los usuarios verán la imagen pero el archivo contendrá un código malicioso en los metadatos de phar. Puede ver un informe detallado sobre este tipo de vulnerabilidad en los siguientes enlaces:
  • Nueva técnica de explotación de PHP
  • phar: // Vulnerabilidad de unserialización de PHP

Excepto en los casos descritos anteriormente con RCE, es posible cuando la fuente RSS es hackeada y las imágenes con varios tamaños de Gb están en la fuente. También puede considerar el posible impacto en su sistema en este caso.

Las imágenes con formato SVG también podrían contener XSS. Puede ser explotado cuando el usuario abre la imagen en su navegador.

    
respondido por el Aleksandr Ryabov 24.10.2018 - 20:35
fuente

Lea otras preguntas en las etiquetas