Saltar al contenido principal

RFI

Bajo

Volvemos a empezar y este caso vamos a inyectar un fichero remoto, como ejemplo vamos a usar google, como sabemos que carga lo que le pases por parámetros vamos a introducir la url completa y ver que sucede.

Url para el ataque

Como vemos nos carga google en nuestra web.

Ataque exitoso

Medio

Cambiamos de nivel y volvemos a probar el dominio de google, dejando de funcionar

Ataque fallido

Si nos fijamos en el código nos damos cuenta de que tiene un srt_replace como en LFI que nos impide usar http o https

// Input validation 
$file = str_replace( array( "http://", "https://" ), "", $file );

Pero como str_replace no es recursivo, podemos jugar con ello cambiando la manera de escribir el protocolo

htthttp://p://google.es

Lo que sucederá es que se eliminara el http:// dejando el que lo envuelve en su lugar, volviendo a funcionar el ataque.

Ataque exitoso

Alto

En este caso no se puede resolver incluyendo una url, por lo que hay que usar otra vulnerabilidad como file upload y llamar al código desde ese fichero.