Omitir archivos_existentes [rfi, lfi] en mi código, ¿es posible?

4

Tengo el siguiente código en mi aplicación web:

$data = "dir/files/".$_GET['f'].".pdf";    

Un par de líneas hacia abajo que tengo:

if(file_exists($data)){    
include($data);

¿Un atacante podría omitir eso para explotar una RFI en mi sistema? ¿O es solo LFI?

    
pregunta Andrew R. 12.09.2015 - 15:04
fuente

1 respuesta

1

Se permiten los mejores caracteres de la lista blanca (no de la lista negra) en $ _GET ['f'].

if (preg_match("[^A-Za-z0-9_-]", $_GET['f'])) {
  fail();
} else {
  // your logic here
}

Note que no puse "." o "/" en la lista blanca. Eso fue intencional.

    
respondido por el tylerl 12.09.2015 - 19:45
fuente

Lea otras preguntas en las etiquetas