Saludos gente, estoy haciendo los labs de la Web Security Academy de Burpsuite, y estoy aprendiendo cosas muy interesante.
Recientemente he llegado a un lab donde se trata de un web site que tiene una cookie que es vulnerable a SQLi, el lab dice que se puede explotar con conditional delays.
He intentado de muchas maneras:
- x' or pg_sleep(10)--
- ' and pg_sleep(10)--
- x' or sleep(10)--
Entre otras varias mas...
Pero hay una en particular que funciona
' || pg_sleep(10)--
A lo que me brinca el ojo al tratar de entender por qué usando el operador de concatenación de postgres se consigue introducir el delay, mientras que con otras condiciones basadas en lógica booleana simplemente no funciona?
Agradeceria cualquier recurso para tratar de entender esto, he estado mirando en la documentación de postgres y lo que veo es que el pg_sleep retorna void, pero no entiendo como no es ejecutada la instrucción del delay, acaso el planner de la db sabe de antermano que no existe forma de lograr que la condicion booleana sea exitosa (true) usando un sleep con un operador?
happy hacking...