# LFI - local file inclusion

Es una vulnerabilidad web que permite la lectura de archivos locales de la máquina. Puede derivar en ejecuciòn remota de comandos RCE.

Creamos un documento simple de php con el siguiente contenido index.php

```php
<?php
     $file = $_GET['file'];
     if(isset($file))
     {
         include("$file");
     }
 ?>
```

Asi creamos la variable $file a la que le asignamos el valor GET file.

Nos montamos un servidor web en el [localhost](http://localhost) por el puerto 80

```bash
 php -S localhost:80
```

De esta forma al acceder al [localhost](http://localhost) desde un navegador se debería de cargar el archivo No veremos nada

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1742072538685/21fa1a83-947b-4747-abd5-80d4c97e7709.png align="center")

ya que la variable file aún no contiene ningún valor, podríamos igualarla al contenido del archivo [/etc](tg://bot_command?command=etc)[/ho](tg://bot_command?command=hosts)[sts](tg://bot_command?command=etc)

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1742072578870/3bde31f2-4dfa-4653-9b8c-bb930f192a53.png align="center")

Conseguimos verlo, estamos consiguiendo una inclusión de archivos locales (LFI).

Al conseguir esto ya podemos enumerar archivos que nos puedan interesar del sistema. Como ver los usuario existentes en el /etc/passwd y comprobar si tienen alguna entrada en el id\_rsa etc.

```bash
/home/usuario/.ssh/id_rsa
```
