Duda en Blind SQLi

Iniciado por tragantras, 8 Marzo 2010, 18:39 PM

0 Miembros y 2 Visitantes están viendo este tema.

tragantras

Buenas! Traigo una consulta sobre el tema que indica el titulo, las BSQLi

Segun veo en los manuales sobre este tema la manera de comprobar si es vulnerable o no, es por ejemplo:

web?valor=3 and 1=1        <- muestra
web?valor=3 and 1=0        <- no muestra (es decir muestra '0' dnd debería ir el valor)


bueno, pues encontré una página que segun la "teoria" es vulnerable a este tipo de injecciones, pero no se si es por que utiliza algun tipo de BDD que no conozco o lo que sea, pero cualkier tipo de instruccion que le pongo rollo
Código (php) [Seleccionar]
web?valor=3 and (SELECT Count(*) FROM users) no es que no muestre el valor, es que la página no carga, como si la sentencia SQL fuese incorrecta.

No se si esto se debe a que la BDD como he dicho anteriormente no es MySQL.. puede ser, alguien sabría decirme como discriminar el tipo de motor que usa? Alguna sugerencia para comprobar si realmente es vulnerable? códigos a usar? cualkier sugerencia, o referencia a otro lugar me vale


un saludo y gracias =)
Colaboraciones:
1 2

Shell Root

Recordad que las Blind SQL Injection, son inyecciones a ciegas. Así que será un poco complicado sacar los datos que queramos obtener.




Se le asigna AND 1=1 porque es una condicion verdaderá asi que deberia de dejarnos pasar como si estuviera solo el ID. Ahora, deberas ir ingresando nombres de tablas aleatoriamente, (Recordad que las Blind SQL Injection, son inyecciones a ciegas), hasta que nó lanze un error, (Si no lanza un error, es porque la consulta es verdadera)...


Ahora esto es lo que no entiendo...
Cita de: tragantras en  8 Marzo 2010, 18:39 PM
Código (php) [Seleccionar]
web?valor=3 and (SELECT Count(*) FROM users) no es que no muestre el valor, es que la página no carga, como si la sentencia SQL fuese incorrecta.
wtf? Si muestra un error, es porque la consulta es Falsa, de lo contrario es Verdadera.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Banti

Cita de: tragantras en  8 Marzo 2010, 18:39 PM
Código (php) [Seleccionar]
web?valor=3 and (SELECT Count(*) FROM users)
:-X

Si primero vamos con lo primero que es estudiar un poco del lenguaje SQL?

Shell Root

Cita de: Vaati en  9 Marzo 2010, 03:33 AMSi primero vamos con lo primero que es estudiar un poco del lenguaje SQL?
Why?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

tragantras

Cita de: tooRllehS@xelA en  8 Marzo 2010, 19:17 PM
Recordad que las Blind SQL Injection, son inyecciones a ciegas. Así que será un poco complicado sacar los datos que queramos obtener.




Se le asigna AND 1=1 porque es una condicion verdaderá asi que deberia de dejarnos pasar como si estuviera solo el ID. Ahora, deberas ir ingresando nombres de tablas aleatoriamente, (Recordad que las Blind SQL Injection, son inyecciones a ciegas), hasta que nó lanze un error, (Si no lanza un error, es porque la consulta es verdadera)...


Ahora esto es lo que no entiendo...
Cita de: tragantras en  8 Marzo 2010, 18:39 PM
Código (php) [Seleccionar]
web?valor=3 and (SELECT Count(*) FROM users) no es que no muestre el valor, es que la página no carga, como si la sentencia SQL fuese incorrecta.
wtf? Si muestra un error, es porque la consulta es Falsa, de lo contrario es Verdadera.


veamos si la pagina por ejemplo muestra valores dependiendo de los campos de la tabla... es decir imagina que hay un valor en la tabla que sea "Hits", y en la web ese campo se muestra de la siguiente manera:

"Numero de veces pulsados $hits"

por poner un ejemplo, ya se que no se construye así pero bueno, es para explicartelo.

Si la consulta que hago es TRUE  -> and 3=3, ese campo "hits" se rellena con el valor correcto, por el contrario si la consulta es FALSE -> and 3=1 ese campo "hits" se rellena con ceros.

ahora bien si por ejemplo pongo  web.php?id=3 and pericoelmafioso obviamente esa consulta está malformada, y la pagina NO CARGA, ni cero ni ostias, no carga xD es lógico pensar que no cargue en vez de rellenar con ceros... El problema radica en que da igual que sentencia SQL ponga, siempre me la toma como inválida, NO CARGANDO LA WEB!

por cierto se que no muestran errores>,<

Un saludo y gracias =)
Colaboraciones:
1 2