Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: afdlkglfgfdgfhgf en 11 Febrero 2012, 04:57 am



Título: simular inject_here en sqlmap[TUTORIAL + PROXY]
Publicado por: afdlkglfgfdgfhgf en 11 Febrero 2012, 04:57 am
Despues de haber perdido un par de horas de mi vida, intentando buscar algo parecido al
%IjectHere% de HAVIJ o un ${Inject_Here} como el de ACUNETIX en SQLMAP, primero tome la decision
de editar el codigo, pero me dio demasiada peresa, aparte que con una actualizacion volaba el codigo
asique me decidi mejor en hacer un mini proxy para el SQLMAP, les cuento como funciona.

primero echamos a andar el mini proxy, para esto necesitamos 3 parametros.

[1]PUERTO, de conexion entre el mini proxy y el sqlmap.(puede ser cualquiera :p)
[2]PARAMETRO, este es el parametro falso que modificara sqlmap(abajo explico ;)).
[3]URL, necesitamos la URL donde se encuentra la sqli, con EL TOKEN que nos indicara
   donde se encuentra el SQLI(Token por defecto "{fuck}").

un ejemplo seria asi ==> python proxySqlmap.py 4345 /cualquier_cosa.php?injectando= http://www.vulnerables.com.ar/carpeta1/identificador1/identificador2{fuck}/archivo.rar

PUERTO de conexion con el proxy => 4345
PARAMETRO falso                         => /cualquier_cosa.php?injectando=
URL  con el token, fijarse en {fuck} => http://www.vulnerables.com.ar/carpeta1/identificador1/identificador2{fuck}/archivo.rar

*El parametro falso debe coincidir tal cual con el que ponen en sqlmap.

donde el parametro identificador2 es el vulnerable(lee mas abajo y entenderas).
con esto dejamos nuestro proxy esperando conexiones en el puerto 4345.

¿como funciona?.
cuando ejecutamos sqlmap, lo hacemos de esta manera "python sqlmap.py -u "http://www.vulnerable.com.ar/carpeta1/ejecuta.php?id=3" -p id" , donde id es nuestra variable vulnerable a sqli, pero nosotros al tener un parametro vulnerable en otro lugar como es en mi caso, es asi "http://www.vulnerables.com.ar/carpeta1/identificador1/identificador2/archivo.rar" , las variables vulnerables son identificador1 e identificador2 , no tenia como shit indicar que esas variables eran vulnerables entonces se me ocurrio hacer lo siguiente, utilizamos nuestro localhost(pueden subirlo a un host si desean ;) ), como si fuese el servidor con la url y apuntamos en sqlmap una variable falsa(cualquier nombre), SIN DARLE UN VALOR por lo menos en esta version no !!xD , en mi caso le pondre "/cualquier_cosa.php?injectando=" , tonces la url nos quedaria de esta manera "http://127.0.0.1/cualquier_cosa.php?injectando=" , ademas debemos agregar el puerto de conexion a nuestro proxy, al ejecutar el sqlmap nos quedaria asi "python sqlmap.py http://127.0.0.1:4345/cualquier_cosa.php?injectando= -p injectando" , esto quiere decir que se conectara a nuestro host(127.0.0.1), y que realizara las peticiones <"GET"> a nuestro host y a la variable "injectando" de la pagina "cualquier_cosa.php", por otro lado tenemos corriendo el proxy haciendo creer que se mejante pagina y variable existe.

Entonces tenemos 2 ventanas de cmd abiertas, una donde corre nuestro proxy y la otra de sqlmap ;) .

espero que a alguien le sirva.

codigo en python ==> http://pastebin.com/NR5sx9u6

una imagen para que vean como reemplaza la injeccion :
(http://www.subirimagentotal.com/out.php/i19079_proxy.jpg)

PD: por ahi alguien podria mejorar o optimizar el codigo ;).

EDIT: modifique unas cosillas.