Pages

Ads 468x60px

lunes, 4 de julio de 2016

Hacking desde 0. Hoy SQL Injection (manual).



Siguiendo con las entradas de Hacking desde 0, hoy vamos a ver como realizar una inyección SQL básica, a mano, nada de herramientas xD.

Arrancamos nuestra máquina DVWA, establecemos el nivel en "low" y vamos a "SQL Injection".

Lo primero es ver como se comporta la pagina de manera normal, y como lo hace frente a una inyección de un un carácter no esperado.



Comportamiento normal
Comportamiento con carácter no esperado
Como vemos en la primera imagen, la página se comporta de una manera normal al introducirle el número 1, pero no lo hace de la misma forma al pasarle el carácter ' (comilla simple).En el segundo caso nos devuelve un erro de sintaxis en MySQL (ya sabemos de paso el motor de BBDD usado).

Bien, pues empecemos a hacerle preguntas a la base de datos a ver que nos contesta. Si le pasamos un "1' AND 1=1#" vemos que nos devuelve como resultado lo siguiente.



Veamos que más podemos preguntarle y que nos responde. Esta vez le pasamos un         "1' and 1=1 union select database(), user()#" (recuerda que la sentencia SQL es lo que hay dentro de las comillas dobles, sin incluirlas). Lo que le estamos diciendo es que concatene una consulta, que nos devuelva el resultado del nombre la base de datos actual y el nombre de usuario y host (Gracias a Mario por aquellas clases de MySQL xD).



Seguimos. Esta vez le pasamos como sentencia "1' and 1=1 union select null, table_name from information_schema.tables#". Le estamos diciendo que nos muestre lo que hay en la tabla information_schemalo que nos devuelve:



Ahora que ya tenemos el nombre de la tabla "users" vamos a volcar las contraseñas de todos los usuarios del tirón usando la sentencia "1' and 1=1 union select user, password from users#". Le pedimos que nos devuelva las contraseña de la tabla users.



Hemos conseguido sacar todas las contraseñas de los usuarios, pero ahora tenemos un pequeño problema, hemos obtenido los hashes de las contraseñas pero no podemos usarlos así. 
En otra entrada veremos como podemos crackear esos hash para nuestro uso y disfrute, ya que en este caso solo tratábamos de realizar un SQLi a mano.

Roberto García (@1GbDeInfo)
Creative Commons Licence
1Gb De informacion by Roberto García Amoriz is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Based on a work at http://www.1gbdeinformacion.com/.
Permissions beyond the scope of this license may be available at http://www.1gbdeinformacion.com/.

Perfil profesional en Linkedin

 
Blogger Templates