Tenemos una consulta de la forma:
select a,b,c from tabla where user=[$user] and pass=md5([$pass])
Se tiene el parámetro inyectable "user" y conocemos el nombre de un user válido.
De forma que la respuesta TRUE de la consulta sería loguearse con ese user y la respuesta FALSE sería no loguearse.
Ej. user='[user_conocido' or 'a'='a]' (lo que va entre corchetes es la inyección, que provoca que nos logueemos)
Ahora, mi pregunta es: ¿cómo se podría inyectar una sentencia UNION teniendo en cuenta que el sistema filtra cualquier carácter de comentario (también en hexadecimal) y funciones como char(), por lo que se tiene que mantener la sintaxis del "and pass=..."?
Es decir, algo como: user='[user_conocido' union or 'a'='a]'
Recuerdo que es BLIND SQL Injection
Gracias de antemano
select a,b,c from tabla where user=[$user] and pass=md5([$pass])
Se tiene el parámetro inyectable "user" y conocemos el nombre de un user válido.
De forma que la respuesta TRUE de la consulta sería loguearse con ese user y la respuesta FALSE sería no loguearse.
Ej. user='[user_conocido' or 'a'='a]' (lo que va entre corchetes es la inyección, que provoca que nos logueemos)
Ahora, mi pregunta es: ¿cómo se podría inyectar una sentencia UNION teniendo en cuenta que el sistema filtra cualquier carácter de comentario (también en hexadecimal) y funciones como char(), por lo que se tiene que mantener la sintaxis del "and pass=..."?
Es decir, algo como: user='[user_conocido' union or 'a'='a]'
Recuerdo que es BLIND SQL Injection
Gracias de antemano