lunes, 27 de agosto de 2018

Explotación Web (IV): Solución Reto Hackerfire "Kept in Secret" (II)

Decía en el anterior post que en éste iba a solucionar el reto de explotación Web de la plataforma HackerFire, que en el citado post resolví con sqlmap, de forma manual, es decir, sin utilizar ninguna herramienta para ello.

Recuerdo la información sobre el reto a resolver:

Este reto tiene el título "Kept in Secret" y mi valoración sobre su dificultad es: ☆☆.

Su enunciado dice lo siguiente:


Now that you know the basic ideas behind SQL injection, can you use the techniques you've learned to extract the password for the admin?.

Solución: Tal y como dice el enunciado se trata de obtener la password del administrador mediante SQL injection.

Accedo a la web y me encuentro lo siguiente (compacto un poco la información que se muestra para que se vea mejor):
Como ya realicé el registro ("Register") cuando escribí el post anterior,  introduzco el usuario y password, "a" y "a" en ambos casos, en el formulario "Login" y se muestra la relación de usuarios.


Introduzco a' order by 4# y obtengo lo siguiente:
Por tanto, parece que la consulta de la que se muestra la información tiene sólo 3 columnas (las correspondientes a "Username", "Name" y "Description).

Intento obtener el nombre de las tablas de la base de datos, para lo que introduzco a' union select 1,table_name,3 from information_schema.tables where table_schema = database()# y se muestra lo siguiente:
La base de datos contiene una única tabla: "users".

Intento ahora ver el nombre de las columnas de esa tabla, para lo que introduzco a' union select 1,column_name,3 from information_schema.columns where table_schema = database()#  y se muestra lo siguiente:
Finalmente, introduzco a' union select 1,username,password from users# y obtengo:
Por tanto, la solución del reto es: flag{pa55w0rd5_ar3_b1g_s3cr3t5}.

No hay comentarios:

Publicar un comentario