SQL injection vulnerability in WHERE clause allowing retrieval of hidden data writeup

Descripción

his lab contains a SQL injection vulnerability in the product category filter. When the user selects a category, the application carries out a SQL query like the following:

SELECT * FROM products WHERE category = 'Gifts' AND released = 1

To solve the lab, perform a SQL injection attack that causes the application to display one or more unreleased products.

SQL injection vulnerability in WHERE clause allowing retrieval of hidden data writeup

Al entrar en el laboratorio encontraremos la siguiente tienda online:

Según la descripción, debemos acceder a una categoría primero. Encendemos el logger de Burp Suite y seleccionamos ‘Gifts’. Deberá aparecer la siguiente petición:

Por la descripción, el ‘Gifts’ que aparece en la primera línea debe ser el mismo ‘Gifts’ de la consulta SQL ‘SELECT * FROM products WHERE category = 'Gifts' AND released = 1‘.

Tendremos que modificar la consulta para que se vea tal que así:

SELECT * FROM products WHERE category = '' OR 1=1 -- AND released = 1

Obteniendo todos los productos de todas las categorías (ya que se mostrarán los que pertenezcan a la categoría ‘ ‘ o si 1=1, es decir todos porque 1 = 1 en todas las consultas) y comentando la parte de ‘AND released = 1’ con ‘–‘.

Enviaremos la petición al Repeater con Ctrl + R o Click derecho -> Send to Repeater. Allí pondremos en la categoría » ‘ OR 1=1 –«, lo seleccionaremos y lo codificaemos a URL con Ctrl + U. Dando como resultado » ‘+or+1%3d1+– «.

Al enviarlo se resolverá el laboratorio:

Nota: Es posible que la petición con la inyección SQL haya que enviarla 2 veces para que funcione.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *