Hack This Site - Level 8
August 2022
Descripción
Sam remains confident that an obscured password file is still the best idea, but he screwed up with the calendar program. Sam has saved the unencrypted password file in /var/www/hackthissite.org/html/missions/basic/8/.
However, Sam’s young daughter Stephanie has just learned to program in PHP. She’s talented for her age, but she knows nothing about security. She recently learned about saving files, and she wrote a script to demonstrate her ability.
Solución
En este reto se explota la vulnerabilidad Server Side Include, esta vulnerabilidad se aprovecha de código PHP para mostrar el resultado en una página HTML. Para saber más sobre esta vulnerabilidad la página HackTricks es muy útil Link.
Primer escribimos un nombre y hacemos click en Submit.
Nos enviará a otra página donde haremos click en el texto marcado en azul.
Podemos ver que el nombre que ingresamos antes ahora se renderiza en la página.
Ahora probamos con código malicioso para confirmar que la aplicación es vulnerable a SSI.
<!--#exec cmd="ls" -->
Nuevamente hacemos click en el link que está marcado con azul.
Y vemos que el resultado de nuestro comando se puede visualizar en la página.
Según la descripción del reto la contraseña se ubica en /var/www/hackthissite.org/html/missions/basic/8/
, y como vimos anteriormente nosotros nos encontramos en var/www/hackthissite.org/html/missions/basic/8/tmp
. Entonces debemos ejecutar el comando ls
sobre una carpeta arriba de la nuestro con el comando ls ../
.
Ahora ingresaremos nuestro payload para ver los archivos que se encuentran en el directorio /var/www/hackthissite.org/html/missions/basic/8/
.
<!--#exec cmd="ls ../" -->
Hacemos click en el link marcado en azul.
Vemos 3 archivos que nos llaman la atención, pero primero revisaremos el archivo au12ha39vc.php
.
Ejecutamos el comando cat
en nuestro payload para ver el contenido del archivo.
<!--#exec cmd="cat ../au12ha39vc.php" -->
Hacemos click en el link marcado en azul.
Y vemos la contraseña 1e9b7858
.
La pegamos en el campo de contraseña y hacemos click en el botón submit.
Y resolvemos el reto.