
Descripción
This lab contains a SQL injection vulnerability in the product category filter. The results from the query are returned in the application’s response, so you can use a UNION attack to retrieve data from other tables. To construct such an attack, you need to combine some of the techniques you learned in previous labs.
The database contains a different table called users
, with columns called username
and password
.
To solve the lab, perform a SQL injection UNION attack that retrieves all usernames and passwords, and use the information to log in as the administrator
user.
SQL injection UNION attack, retrieving data from other tables writeup
Al entrar nos encontraremos con una tienda online. Filtramos por cualquier categoría y capturamos la petición en el ‘Logger’ de Burp Suite:

Nos llevamos esta petición al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater. Allí usaremos la información de la descripción del laboratorio para realizar la siguiente petición:
/filter?category=Tech+gifts'+union+select+username,password+from+users--
Dando este resultado:

Lo que se está haciendo con esta URL es añadir a la consulta que busca los productos una nueva que busque en la tabla ‘users’ las columnas ‘username’ y ‘password’.
Nota: Para que la inyección funcione, ambas consultas deben de devolver el mismo número de columnas. Dado que la columna anterior devuelve ya 2, debemos de proporcionar dos parámetros a la nuestra. Es por ello que si intentamos hacer la petición sólo con ‘username’ no funcionará, pero si lo hacemos con ‘username’ y ‘aabb’ tal que así:
/filter?category=Tech+gifts'+union+select+username,'aabb'+from+users--
Si funcionará, pero luego tendremos que hacer otra consulta para la contraseña.

Al volver al navegador, entrar en ‘My account’ e iniciar sesión con el usuario ‘administrator’ y la contraseña ‘iocejvkwkswcs2gxl70w’ resolveremos el laboratorio:
