Foros del Web » Programando para Internet » PHP »

upload de imagenes con imagecopyresampled se puede Bypassing???

Estas en el tema de upload de imagenes con imagecopyresampled se puede Bypassing??? en el foro de PHP en Foros del Web. Hola que tal a todos, mi pregunta es simple si yo utilizo imagecopyresampled para crear una copia de la imagen subida por un usuario, podrian ...
  #1 (permalink)  
Antiguo 25/01/2010, 20:24
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
upload de imagenes con imagecopyresampled se puede Bypassing???

Hola que tal a todos, mi pregunta es simple si yo utilizo imagecopyresampled para crear una copia de la imagen subida por un usuario, podrian hacer Bypassing o subir una imagen con codigo malicioso.....

por que digamos que los utilizo de este modo, tomo la imagen subida desde

$_FILES['imagen']['tmp_name']

luego le aplico algunos filtros para determinar type y exif_imagetype para IMAGETYPE_XXX

si todo esta bien guardo la copia con imagecopyresampled
si guardo la copia elimino para liberar memoria

imagedestroy($gd111); y imagedestroy($gd111);
datos empleados en imagecreatefromstring
((tomo esto con una funcion para determinar si es jpg/png/gif )))


y elimino tambien la imagen subida

unlink($_FILES['imagen']['tmp_name']);

en teroria yo entiendo que si la imagen tenia una shell o algo asi ya no funcionara porque he subido a la carpeta de uploads una copia y la imagen original subida por el usuario, ha sido eliminada del temporal

esto es asi o si tenia una shell tambien se copia en la nueva imagen creada

espero alguna respuesta desde ya gracias a todos!!
saludos!!!
  #2 (permalink)  
Antiguo 26/01/2010, 09:18
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: upload de imagenes con imagecopyresampled se puede Bypassing???

Pues si la imagen tiene algún código malicioso, al copiarla, debería también copìar el código aquel. Lo que podrías hacer, es renombrar la copia, agregarle una extensión cualquiera para que quede deshabilitada como imagen y no se pueda ejecutar. Claro que podría editarse y ejecutarse manualmente, pero no al intentar ver la imagen por tu web, ya que no sería reconocida como imagen.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #3 (permalink)  
Antiguo 26/01/2010, 17:27
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: upload de imagenes con imagecopyresampled se puede Bypassing???

Pues gracias por responder, mira yo cambio a la extension a png sea cual sea la imagen, tambien la renombro.... pero tendria que utilizar un codigo entonces para evitar mostrar la ruta de la imagen

pero como puede ser

saludos!
  #4 (permalink)  
Antiguo 27/01/2010, 16:44
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: upload de imagenes con imagecopyresampled se puede Bypassing???

Cita:
Iniciado por zerpico_01 Ver Mensaje
Pues gracias por responder, mira yo cambio a la extension a png sea cual sea la imagen, tambien la renombro.... pero tendria que utilizar un codigo entonces para evitar mostrar la ruta de la imagen

pero como puede ser

saludos!
Disculpa por no haberte respondido antes.

¿Qué es lo que quieres hacer con la imagen, suponiendo que está tiene código malicioso?

Lo que podrías hacer, es crear un sistema de administración de imágenes subidas. Así manualmente podrás escanear todas las imágenes, y dependiendo del resultado de escaneo, ver si le das el permiso para que se vea en tu web.

Un ejemplo de la idea que te planteo :

IMAGEN ---- ACEPTADO ( si / no )
Imagen1 --- No
Imagen2 --- Si
Imagen3 --- Si
Imagen4 --- No

Así únicamente los usuarios verían las imágenes que tú has permitido que se vean.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #5 (permalink)  
Antiguo 28/01/2010, 00:54
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: upload de imagenes con imagecopyresampled se puede Bypassing???

bien lo que voy a hacer antes de analizar las imagenes voy hacer una copia yo mismo con un porgrama de edicion luego la guardo con el nombre que le he dado, asi estare seguro de todo...

el tema es que para hacer algo mas agil tengo que crear una carpeta para cada usuario, esto no es problema ya que lo hago automaticametne con php, pero el problema es que al crear una carpeta via web -->el propietario entonces es Apache por ende apache es el "propietario" (owner) y con esto no permitira que nadie meta nada dentro de la carpeta ya que no tendra permisos de escritura , yo desde mi panel puedo cambiar esto, el tema es que si un usuario se registra y quiere subir imagen debe hacerlo inmediatamente, no puedo hacerle esperar.... hasta que cambie manualmente el owner..... asi que ahora tengo el problemon!!!

habra alguna manera que cambiar esto con php o sea al crear la carpeta misma???

saludos y gracias por tu respuesta!!
  #6 (permalink)  
Antiguo 28/01/2010, 02:55
 
Fecha de Ingreso: octubre-2005
Mensajes: 240
Antigüedad: 18 años, 6 meses
Puntos: 1
Respuesta: upload de imagenes con imagecopyresampled se puede Bypassing???

Hola zerpico_01,

Si creas una carpeta con PHP, suponiendo que con la función mkdir(), te sugiero que en vez de ir al panel de administración, uses también la función chmod(), justo despues de la otra para cambiarle los permisos:

Código PHP:
mkdir($ruta);
chmod($ruta,0777
El primer parametro es la ruta hacia tu carpeta y el segundo el modo chmod que le aplicas, en este caso el máximo 777 (lectura, ejecución y escritura para todos los users)

Para mas info sobre chmod, visita aquí

Espero que te sirva,

Un saludo!

Etiquetas: imagecopyresampled, imagenes, upload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:25.