domingo, 15 de junio de 2025

05 - Lab: SQL injection attack, listing the database contents on non-Oracle databases

 


SQL injection


Lab: SQL injection attack, listing the database contents on non-Oracle databases


Laboratorio: ataque de inyección SQL, enumerando el contenido de la base de datos en bases de datos que no son Oracle

Este laboratorio contiene una vulnerabilidad de inyección SQL en el filtro de categoría de producto. 

Los resultados de la consulta se devuelven en la respuesta de la aplicación para que pueda utilizar un ataque de UNION para recuperar datos de otras tablas.

La aplicación tiene una función de inicio de sesión, y la base de datos contiene una tabla que contiene nombres de usuario y contraseñas. 

Usted necesita determinar el nombre de esta tabla y las columnas que contiene, luego recuperar el contenido de la tabla para obtener el nombre de usuario y la contraseña de todos los usuarios.

Para resolver el laboratorio, inicie sesión como el usuario administrador.


1. Utilice Burp Suite para interceptar y modificar la solicitud que establece el filtro de la categoría de producto.

2.    Determinar el número de columnas que están siendo devueltas por la consulta y qué columnas contienen datos de texto. Verifique que la consulta esté devolviendo dos columnas, ambas contienen texto, utilizando una carga útil como la siguiente en el parámetro de la categoría

'+UNION+SELECT+'abc','def'--

    


Luego de Utilizar el siguiente union en el campo category le damos Forward

Debemos llegar a poder ver la siguiente pantalla y poder hacer click en Corporate Gift

    


        

3.  Ahora Utilice la siguiente carga útil para recuperar la lista de tablas en la base de datos:  

    '+UNION+SELECT+table_name,+NULL+FROM+information_schema.tables--




4.    Encuentre el nombre de la tabla que contiene credenciales de usuario.

    




5.    Utilice la siguiente carga útil (que sustituya al nombre de la tabla) para recuperar los detalles de las columnas de la tabla:

    '+UNION+SELECT+column_name,+NULL+FROM+information_schema.columns+WHERE+table_name='users_npxrqx'--




6.    Encuentre los nombres de las columnas que contienen nombres de usuario y contraseñas.




7.    Utilice la siguiente carga útil (que sustituyó a los nombres de la tabla y de la columna) para recuperar los nombres de usuario y contraseñas para todos los usuarios

   '+UNION+SELECT+username_bwhzuj,+password_gkbmbb+FROM+users_npxrqx--

    


8. Encuentre la contraseña para el usuario administrador y úsela para iniciar sesión.



No hay comentarios.:

Publicar un comentario

05 - Lab: SQL injection UNION attack, determining the number of columns returned by the query

  Lab: SQL injection UNION attack, determining the number of columns returned by the query Para el siguiente laboratorio debemos modificar e...