Skip to main content
CTF c0r0n4con Conference 2020

CTF c0r0n4con web – TWICAT

This is TWICAT, a cat based social network for your cat(s) to get in touch with others. It seems its administrator is so lazy to properly configure the infrastructure, will you be able to catch the hidden flag?

TWICAT

Puntuación: 450

El enunciado de este reto indica lo siguiente:

This is TWICAT, a cat based social network for your cat(s) to get in touch with others. It seems its administrator is so lazy to properly configure the infrastructure, will you be able to catch the hidden flag?

Mirrors:

http://134.122.72.224:8003

 

Al acceder a la url facilitada obtenemos la siguiente ventana:

CTF c0r0n4con web - TWICAT

 

Analizamos el código fuente de la aplicación y se detecta una vulnerabilidad de LFI en el apartado de Image Viewer, así que introduciendo “index.php” obtenemos el código fuente en base64 que decodificado sería el siguiente código:

 

Analizando el código fuente obtenido se detecta que no era posible inyectar otros directorios del sistema ya que detecta el carácter “/” por lo que se prueba a realizar una inyección SQL sobre la base de datos utilizada SQLite.

Después de muchas pruebas se consigue bypassear las comprobaciones de la sección de “Cat ID” con el siguiente payload:

CTF c0r0n4con web - TWICAT

Posteriormente obtenemos las columnas de la tabla cats con el siguiente payload:

CTF c0r0n4con web - TWICAT

 

Y por último obtenemos las credenciales del usuario admin con el siguiente payload:

CTF c0r0n4con web - TWICAT

 

Una vez que ya hemos obtenido los datos del usuario admin y pass c4tH4x0r probamos a loguearnos con estos datos en la url /admin.php y accedemos a una nueva parte de la web en la que se ofrecen 3 funcionalidades más.

CTF c0r0n4con web - TWICAT

 

Observamos los mismos pero no se consigue nada relevante, así que al igual que hicimos con el código de index.php, lo hacemos en este caso para obtener el código de admin.php, decodificamos el base64 obtenido y observamos el siguiente código:

 

Observamos en el anterior fichero, entre otras cosas, el siguiente comentario:

Después de la realización de muchas pruebas, se identifica que es posible conectar con el servicio de MySQL (que corría en el puerto 3306 de la máquina) mediante curl con gopher si el usuario no tenía contraseña y conseguir así explotar una vulnerabilidad de SSRF, utilizando para ello el usuario indicado en el anterior comentario “pwn”.

Utilizamos entonces la herramienta Gopherus para generar nuestro payload de conexión con MySQL.

Generamos entonces el payload para el usuario “pwn” y la query:

Generamos entonces el payload para el usuario "pwn"

 

Codificamos el anterior payload para enviarlo al servidor y boom!

Conectamos con mysql, obtenemos el resultado de nuestra consulta y con ello la flag:

 

Conectamos con mysql, obtenemos el resultado de nuestra consulta y con ello la flag:

 

Puedes ver el resto de writeups en este enlace.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.