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.