Canvas
1 minuto de lectura
Se nos proporcionan estos archivos:
$ tree
.
├── css
│ └── style.css
├── dashboard.html
├── index.html
└── js
└── login.js
3 directories, 4 files
Analizando la web
Dado que son archivos HTML, CSS y JavaScript, vamos a arrancar un servidor HTTP y a cargar los archivos en el navegador:
$ python3 -m http.server 80
Serving HTTP on :: port 80 (http://[::]:80/) ...
Hay un formulario de inicio de sesión, pero la etiqueta form
hace una petición POST a la misma URL. Como no hay ningún servidor HTTP remoto, este formulario de inicio de sesión es inútil:
Análisis de archivos de JavaScript
Echemos un vistazo a js/login.js
. Parece ofuscado:
Podemos formatear el código en el navegador y ver que hay una variable extraña al final:
Flag
De hecho, está ya cargada en memoria, por lo que podemos movernos a la consola de JavaScript e imprimir su valor, que es la flag, sorprendentemente:
HTB{W3Lc0m3_70_J4V45CR1p7_d30bFu5C4710N}