Ver Mensaje Individual
  #20 (permalink)  
Antiguo 18/12/2011, 00:11
Avatar de jorgelpadronb
jorgelpadronb
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Ataques LFI con imágenes

Cita:
Iniciado por iovan Ver Mensaje
No se trata de que no permitas que el usuario deje de subir imágenes jpeg o gif.
Te respondo lo que no te dije antes, el ataque se puede hacer con cualquier tipo de archivo no necesariamente con jpeg.

La seguridad de tu sitio no debe depender en si el usuario se comporta y es bueno, si no en tu buena experiencia como desarrollador. Si eres experimentado no tienes porque cometer errores que generen vulnerabilidades ( a esto me refiero cuando digo que el programador pone de su parte).

Para terminar rápido, simplemente no hagas que se ejecuten los archivos del usuario en el servidor incluyendolos ( incluye,require) únicamente cargados y descargar los, si es una imagen puedes mostrarla en la página con su etiqueta HTML correspondiente sin temor a nada, pues lo que sucede es que el servidor enviara tal cual al cliente la imagen como respueta.

Me hubiera gustado escribir un poco mas pero me tengo que ir, errores ortográficos provocados por el corrector ortográfico de iPad, no es muy bueno sabes.
Estamos de acuerdo. Todo ataque para tener éxito, requiere que exista alguna deficiencia en la seguridad del sitio. Esa es la parte que debemos cuidar en nuestros proyectos.

Sobre las inclusiones también te apollo. Realmente eso de incluir imágenes con Include no tiene sentido. Creo que ni al último de los novatos se le ocurriría intentar incluir una imagen. Lo que se incluyen son siempre archivos PHP. El problema es que cuando la ruta del archivo que se va a incluir se toma del GET o del POST, el atacante desde afuera la puede sustituir por la ruta de la imagen infectada, que se subió previamente. Entonces tu Include lo que carga es la ruta de la imagen en sustitución de la ruta del archivo PHP original.

Queda claro que la solución es no enviar jamás las rutas de los includes por GET o POST. De esa forma se elimina toda posibilidad de recibir un ataque de este tipo. Gracias por tu aporte.

Saludos.
__________________
Los hombres pequeños, nunca se sienten pequeños; los hombres grandes, nunca se sienten grandes.

No sé quien fué el que dijo eso, pero está bueno.