Blind SQL injection with time delays
Laboratorio de Portswigger sobre SQLI
Certificaciones
- eWPT
- eWPTXv2
- OSWE
- BSCP
Descripción
Este laboratorio contiene una Blind SQL Injection, la aplicación utiliza una cookie de seguimiento para análisis y ejecuta una consulta SQL que incluye el valor de la cookie enviada. Los resultados de la consulta SQL no se devuelven, y la aplicación no responde de manera diferente si la consulta devuelve filas o causa un error. Sin embargo, dado que la consulta se ejecuta de forma síncrona, es posible desencadenar retrasos condicionales en el tiempo para obtener información. Para resolver el laboratorio, debemos explotar la vulnerabilidad de inyección SQL para provocar un retraso de 10 segundos
Guía de SQLI
Antes de completar este laboratorio es recomendable leerse esta guía de SQLI https://justice-reaper.github.io/posts/SQLI-Guide/
Resolución
Al acceder a la web nos sale esto
Si capturamos la petición a la web con Burpsuite vemos un campo llamado TrackingId
He probado a añadir ', ", ) junto con los operadores or y and y no he encontrado ningún cambio en la web. Sin embargo, he usado los operadores || para concatenar con pg_sleep(10) y web ha tardado 10 segundos en responder, además sabemos que nos estamos enfrentando a un PostgreSQL porque la instrucción pg_sleep(10) es propia de esta base de datos
1
Cookie: TrackingId=x28BMrUFiaXdwOX9'||+pg_sleep(10)--+-+; session=E2WYaiK3xD6cIhaLsbMrAy8CIgDpJN9Y


