Saltar al contenido

Insp3ctor – picoCTF 🕵️

Bienvenid@s a un nuevo write up de un reto más de la plataforma picoCTF. En este caso traemos otro ejemplo de explotación web, el tercero enlistado en dicha sección a la hora de hacer esta publicación. Vamos a ello:


  • Reto: Insp3ctor
  • Descripción: Kishor Balan nos avisó que el siguiente código necesita revisión: http://jupiter.challenges.picoctf.org:41511

Desde que leemos la descripción del reto nos damos una idea que dentro del código fuente de la aplicación web debe haber alguna información que nos sea de ayuda para que nos lleve a la bandera o tal vez la misma bandera. Veamos que es lo que contiene:

Al cargar el sitio web, nos encontramos con una página simple que contiene un poco de texto y un par de botones. Uno de ellos con la leyenda “What” , que al presionarlo nos muestra en pantalla el mensaje “I made a website”. Mientras que el otro botón con la leyenda “How “, al presionarlo nos muestra el mensaje “I used these to make this site: HTML, CSS, JS (JavaScript)“:

Hasta el momento sólo sabemos que lenguajes uso el desarrollador para crear la página web. Ahora vemos que podemos encontrar en el código fuente:

Vaya sorpresa. Tal parece que el desarrollador dejó un comentario que dice lo siguiente “HTML es pulcro. De todos modos ten 1/3 de la bandera: picoCTF{tru3_d3…“. Lo que significa que la bandera está separada en 3 partes, por lo cual nos falta encontrar las dos restantes.

El siguiente paso que podemos realizar es inspeccionar la página por medio de la herramienta del mismo nombre que por defecto viene en casi todos los navegadores hoy en día:

Pero que tal y si la información que vimos anteriormente son pistas para llegar a las otras dos partes de la bandera que nos hacen falta? Ya que la primer parte de la misma la encontramos en un comentario dentro del código HTML, tendría sentido que las restantes estuvieran en los archivos CSS y JavaScript :

Siguiendo la teoría anterior, nos movernos a la sección de “Editor de Estilo“, encontramos un archivo interesante, “mycss.css“, veamos que contiene:

Parece que encontramos la segunda parte de la bandera justo al final del archivo. Ahora busquemos la parte faltante:

Ya que probablemente la pieza faltante este relacionada con JavaScript, nos moveremos a la sección ‘Debugger ‘, en donde encontramos otro archivo interesante “myjs.js“, veamos su interior:

Y ahí está la tercera parte. Uniendo todas las frases tenemos la bandera de este reto.

Una buena práctica a la hora de auditar aplicaciones web es darle un vistazo a su código fuente y archivos de configuración, ya que el desarrollador pudo haber dejado información relevante.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *