LFI

Hoy vamos a hablar en concreto de un tipo de ataque contra servidores web, en concreto vamos a hablar de LFI (Local File Inclusion).

El objetivo del ataque es visualizar ficheros localizados localmente en dicho servidor. Por ejemplo, el “/etc/passwd, o ficheros similares que puedan ser de nuestro interés para profundizar en otro tipo de ataques.

El fallo se produce porque en el código de la página web que vamos a utilizar como trampolín para el ataque aparece algo similar a esto:

pagina.php

<?php
$pagina = $_GET(‘pagina’);
include($pagina);
?>

Como se puede ver el código recibe como parámetro a través de la URL un nombre de página e incluye esta para su visualización. Añadir que también se puede hacer esto a través de parámetros recibidos por peticiones POST, pero por no liar al lector, en este artículo solo veremos peticiones recibidas por GET (más adelante se escribirá el de peticiones POST).

Una vez que hemos descubierto que una página tiene un posible LFI, vamos a proceder a probarlo a ver si tenemos éxito.

En primer lugar tenemos la petición original, que sería de la siguiente forma:

http://www.example.com?pagina=paginaParaInclude

Para poder sacar provecho de esto la petición que nosotros vamos a inyectar será del siguiente tipo:

http://www.example.com?pagina=../conf/httpd.conf

Con esto estaremos solicitando que se muestre el fichero de configuración del servidor.

Ahora con un par de pruebas podremos llegar a ver ficheros mucho más interesantes alojados en servidor.

Espero que os sirva para practicar un poquito y hacer un poco más seguros vuestro código o vuestros servidores. Como siempre, os animo a preguntar dudas o hacer comentarios. Nos vemos.

LFI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.