Ver Mensaje Individual
  #19 (permalink)  
Antiguo 17/12/2011, 23:52
Avatar de jorgelpadronb
jorgelpadronb
 
Fecha de Ingreso: agosto-2011
Ubicación: Cuba
Mensajes: 281
Antigüedad: 13 años, 3 meses
Puntos: 37
Respuesta: Ataques LFI con imágenes

Cita:
Iniciado por GatorV Ver Mensaje
Pues lo que podrías hacer es leer la imagen y buscar el string <?php para que puedas ver si tienen código PHP, aunque el problema es que sería lento en imagenes grandes, lo mejor es usar getimagesize para asegurarte que sea una imagen, y evitar incluirlas por la ruta, así por más código PHP que tengan a lo mucho van mostrar una cruz en el browser.

Otra opción es implementar un CronJob que este analizando las imagenes y que vea que sean imagenes legítimas.
GatorV, creo que no voy a necesitar leer todo el archivo. Estuve mirando uno de los links que puse y explica que la inclusión de código en loas archivos JPG se hace en la cabecera del archivo. En base a eso encontré lo siguiente:

Código PHP:
Ver original
  1. $filename = 'un_archivo.jpg';
  2. $cabecera = exif_read_data($filename);
  3. echo '<pre>';
  4. print_r($cabecera);
  5. echo '</pre>';

De esta forma puedo recorrer la cabecera del JPG buscando secuencias como '<?','?>','<%', '%>', etc...

Lo probé y funciona rápido, aún con imágenes grandes.

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.