¿Es seguro invocar funciones GD de PHP si no sabe si el archivo es una imagen válida?

2

Hay una función de carga de imágenes en la aplicación web. Una vez que se ha cargado la imagen, se redimensiona usando funciones de PHP GD como imagecopyresampled y otros. Antes de invocar las funciones de PHP GD, no hay una validación especial de que esta imagen sea de un tipo válido. Luego, esta imagen redimensionada se coloca en el directorio del servidor web. Cuando el usuario solicita cierta url, esta imagen se le presenta.

¿Es seguro invocar funciones de PHP GD si no sabes si el archivo es una imagen válida?

    
pregunta Andrei Botalov 26.09.2012 - 17:08
fuente

1 respuesta

1

Es mejor validar la entrada tanto como pueda antes de intentar procesarla; esta publicación de stackoverflow enumera varios métodos, de los cuales finfo parece abordar la legítima defensa de @ Polynomial para el diablo.

Dicho esto, existen varios ataques de formato contra las bibliotecas de procesamiento de imágenes, pero en su mayoría comienzan con un archivo de imagen válido. Las bibliotecas como GD generalmente abrirán el archivo y su salida no se verá como un archivo de imagen válido, por lo que para romperlo, necesita un archivo que sea legítimo hasta que viole las especificaciones de manera que el analizador se rompa. En lugar de rechazarlo. Por lo tanto, validar la entrada ayuda a evitar entradas erróneas accidentales y basadas en la estupidez, pero no sobreestime su efectividad contra el atacante malicioso.

    
respondido por el gowenfawr 26.09.2012 - 18:05
fuente

Lea otras preguntas en las etiquetas