En primer lugar vamos a crearnos un archivo PHP en la raíz de nuestro servidor WAMP, y de igual manera que en las anteriores ocasiones, llamaremos a nuestro archivo "rfi1.php", matizando con el nº 1 el nivel técnico requerido para bypasear la vulnerabilidad.
Dentro del archivo introduciremos el siguiente código PHP:
Si intentamos acceder a la URL sin indicar ningún valor en el parámetro "file", deberíamos ver un error como el siguiente:
Vamos a poner una imagen como ejemplo, para mostrar su contenido en nuestra página. Cómo veis es un ejemplo un poco burro, pero aclarará rápidamente el funcionamiento de un RFI:
El problema de este tipo de vulnerabilidad, es que si un usuario sustituye esta imagen por un archivo PHP ejecutable, podrían ejecutar cualquier tipo de código en el servidor, y tomar su control.
Por ejemplo, ejecutaremos un comando ipconfig, para ello crearemos el siguiente código PHP, al que llamaremos "shell.php":
Ahora llamaremos a nuestra página web vulnerable, pasándole como parámetro la shell básica que acabamos de implementar:
Cómo veis, nos ha ejecutado el comando "ipconfig" y nos ha presentado el resultado en la página, así que ya tenemos cierto control sobre la máquina. Ahora podríamos subir una consola completa PHP para automatizar el lanzamiento de muchas instrucciones, aunque no todas, dependerá de si el usuario que ejecuta el aplicativo en el servidor tiene más o menos permisos, si es root (algo improbable), de si se trata de un hosting compartido (lo que nos ayudaría a comprometer otras páginas, aunque sería un grave error), etc.
0 comentarios:
Publicar un comentario