1.
Ingresamos a la página proporcionada por el docente, la cual servirá
para esta práctica.
De esta página queremos conocer las credenciales de acceso a la base
de datos
Ilustración 1. Página vulnerable para la inyección SQLi.
2. Para verificar las vulnerabilidades de esta pagina debemos obtener la
dirección URL de php y su valor dinámico.
2.1 Copeamos la URL principal y le añadimos los siguientes
caracteres quedando así la dirección
site:[Link] php?id=
a lo que nos direcciona a la siguiente página ..
Ilustración 2. Página de php y valor dinámico.
2.2. De la pagina web direccionada copeamos su URL que servirá para
iniciar la inyección SQLi [Link]
artist=1
3. La herramienta para la inyección que utilizamos fue sqlmap que será
la encargada de hacer un rastreo de las vulnerabilidades de la página
mediante sus paginas internas.
Ilustración 3. sqlmap inyección automática de comandos SQLi.
3.1. Para verificar que esta página tenga bases de datos
vulnerables y de accesibilidad por credenciales se ejecuta el
siguiente comando.
sqlmap -u [Link]
–dbs
Se da enter a ese comando y la herramienta hará un escaneo para
encontrar las bases de datos vulnerables.
Al termino de la ejecución se manda un listado de las bases de
datos susceptibles en este caso se obtiene la base de datos
Acuart estructurada en MySQL.
Ilustración 4. Base de datos susceptible a hackeo por sqlmap.
3.2. Para verificar que esta base de datos tenga tablas se ejecuta
el siguiente comando.
sqlmap -u [Link] -D
acuart –tables
Este comando se encargará de buscar las tablas que contenga la
base de datos Acuart y después del escaneo mandará los
resultados esperados del escaneo.
El escaneo manda el listado de tablas, en este caso nosotros
queremos obtener las credenciales para el acceso al login de la
página principal, por lo tanto, nos enfocaremos en la tabla de
users.
Ilustración 5. Listado de tablas de la base de datos.
3.3 Parca conocer le contenido de la tabla users se ejecuta el siguiente
comando
sqlmap -u [Link] -D acuart -
T users –columns
Al termino de la ejecución se obtiene el listado de del contenido de
la tabla, se menciono se quiere obtener las credenciales de acceso
y nos enfocaremos en las columnas de uname y pass.
Ilustración 6. Resultado de escaneo del contenido de la tabla.
3.1. Para conocer el contenido de la columna de uname tanto como
pass se ejecutan los siguientes comandos.
sqlmap -u [Link] -D acuart -T users
-C uname -–dump
sqlmap -u [Link] -D acuart -T users
-C pass --dump
Y con esto conocemos las credenciales para el acceder por medio
del login a la base de datos.
Ilustración 7. Resultado de la obtención del usuario test.
Ilustración 8. Resultado de la obtención de la contraseña test.
Ya con los datos deseados en nuestro poder nos dirigimos a la página
para realizar el proceso de login.
4. Nos dirigimos dentro de la pagina y seleccionamos la opción de
Singup para poder visualizar el login e ingresar las credenciales.
Ilustración 9. Logeo con las credenciales obtenidas por sqlmap.
Al dar enter nos direcciona a la tabla de ese usuario en donde se
aprecian los datos personales y con la posibilidad de alterar esos
datos.
Ilustración 10. Acceso a la base de datos y la tabla de usuario test.
Cambio de los del contenido de los datos de la tabla.
Este cambio de hacer la escritura de los datos y se selecciona la
opción update actualizándose los datos nos pide de nuevo el
acceso con la misma credencial y visualizaremos la tabla
actualizada.
Ilustración 11. Actualización de la tabla.
Y con esto se finaliza con éxito la práctica de hacking ético por medio de
inyección SQLi para dar acceso a las bases de datos vulnenrables.