¿Cuáles son los principales problemas de seguridad al considerar la carga de imágenes, más allá de lo normal para todas las cargas HTTP?Problemas de seguridad al aceptar cargas de imágenes
Estoy aceptando cargas de imágenes, y luego mostrar esas imágenes a otros usuarios.
¿Cómo debo verificar, por ejemplo, que la imagen cargada es en realidad un archivo de imagen válido? ¿Existen vulnerabilidades conocidas en los espectadores que sean explotables por archivos de imagen malformados por los que me preocupe la posibilidad de transmitir accidentalmente exploits? (Rápidamente google parece mostrar que hubo una vez en IE5/6.)
¿Debo eliminar todos los metadatos de imágenes para ayudar a los usuarios a prevenir las divulgaciones de información no intencional? ¿O hay algunas cosas que son seguras, necesarias o útiles para permitir?
¿Hay alguna característica misteriosa de los formatos de imagen comunes que podrían ser vulnerabilidades de seguridad?
¿Hay bibliotecas que se ocupen de estos problemas? (Y/o con otros problemas como convertir archivos JPEG progresivos a JPEG normales, reducir la resolución para estandarizar tamaños, optimizar PNG, etc.)
Su primera opción no es fácil de conseguir para la mayoría de las personas, ya que supone que tiene un servidor completamente separado que no está relacionado de ninguna manera con la principal (contraseñas, etc.), y también es un poco inútil, dependiendo del objetivo de un atacante. –
¿Qué calificador habría sugerido en lugar de "opción nuclear"? –