Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - macanito

#1
Nivel Web / Re: UNION en BLIND SQL Injection
3 Agosto 2009, 19:45 PM
Gracias por responder.

Pero al hacer como dices, al concatenarse con la parte del pass la consulta quedaría así:

user='[user_conocido' order by 10']' and pass='md5'

que siempre me loguea sin depender del número que ponga (no me da nunca error, no sé por qué...)

o

user='[user_conocido' union select 1,2,...,'8]' and pass='md5'

que daría un error de sintaxis (esto no he podido probarlo pero lo supongo. La anterior ya la había probado anteriormente)

Habría que terminar con un where o algo así, para mantener la sintaxis...
Todo esto sin conocer los nombres de las tablas...
#2
Nivel Web / UNION en BLIND SQL Injection
3 Agosto 2009, 02:25 AM
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