|
Mostrar Mensajes
|
Páginas: [1]
|
1
|
Seguridad Informática / Nivel Web / Re: UNION en BLIND SQL Injection
|
en: 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
|
Seguridad Informática / Nivel Web / UNION en BLIND SQL Injection
|
en: 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
|
|
|
|
|
|
|