PortSwigger - SQL injection attack, querying the database type and version on Oracle.
August 2022
Solución
Primero hacemos click en Accessories o en cualquier otro filtro de búsqueda.
Luego ejecutamos una query para enumerar la cantidad de columnas que existen.
' ORDER BY 1 -- -
Con 1 la página funciona correctamente. Debemos seguir hasta que la página falle.
' ORDER BY 1,2 -- -
Con 3 la página falla, esto significa que debemos agregar 2 null
a nuestra query final.
' ORDER BY 1,2,3 -- -
Siguiendo la cheat sheet de PortSwigger podemos armar nuestra query final.
Debemos identificar la versión que la base de datos, primero probaremos con Oracle y si no funciona probamos con Microsoft, PostgreSQL y así.
' UNION SELECT banner,null from v$version -- -
Por suerte el primer payload funcionó e identificamos que la base de datos es Oracle, además resolvimos el lab.