Professional Documents
Culture Documents
El archivo debe tener una extensin distinta a cualquier otra que se pueda ejecutar en el servidor del atacante
(.txt, .gif, etc), una extensin ".php" no sera vlida, ya que en el servidor vctima al incluir el fichero con
extensin .php se estara ejecutando antes el cdigo php en el servidor del atacante; recordemos que el
cdigo php se ejecuta en el servidor y el usuario solo puede ver el resultado, es por esto que el cdigo del
script malicioso debe ir con una extensin distinta, ya que la funcin include, require, require_once,
include_once ejecutara el cdigo php contenido en el fichero que se pasa como parmetro a la funcin, sin
importar la extensin que tenga.
Lo que la victima incluye en su pagina son secciones que se pasan a la variable page segun el ejemplo.
<?
include_once($page)
?>
Detener el ataque
Para detener este tipo de ataques, el programador debe filtrar correctamente la variable ejemplo:
<?
if ($url="seccion")
include ($url.".php");
?>
<?
switch($url) {
case 0:include ("./contenidos/estapagina.php"); break;
case 1:include ("./contenidos/estaotra.php"); break;
default: include("./contenidos/error.php"); break;
}
?>
<?
$url = intval($_GET['url']); //$url solo contendr un valor entero.
$pagina = "./contenidos/cont".$url.".php";
if (file_exists($pagina))
include($pagina);
?>
Prevenir el Ataque
Para prevenir este tipo de ataques, es posible utilizar o bien el indicador "./" para advertir que el archivo debe
encontrarse en el directorio actual u otro indicador tal como "includes/". Ejemplo:
<?
?>
Otra Solucin
Otra solucin ms avanzada es aplicar una validacin de la variable enviada como parmetro, descartando la
inclusin de archivos remotos no deseados.
<?
die('Error. intento de RFI..');
else
include ($url);
?>
Con este cdigo evitas este tipo de ataques, que son fciles de solucionar pero que muchos programadores
no se dan cuenta o no dan importancia.
Obtenido de "http://es.wikipedia.org/wiki/Remote_File_Inclusion"
Categora: Hacking
Esta pgina fue modificada por ltima vez el 03:35, 1 abr 2007.
Contenido disponible bajo los trminos de la Licencia de documentacin libre de GNU (vase
Derechos de autor).
Wikipedia es una marca registrada de la organizacin sin nimo de lucro Wikimedia Foundation,
Inc.