Es importante estar atento a las actualizaciones de los componentes de una aplicación web. Normalmente los parches y las actualizaciones no solo otorgan nuevas funcionalidades sino que corrigen fallos de gravedad que comprometen la seguridad de la aplicación.
Por lo pronto tenemos una pagina de venta de libros. El autor nos ha dejado detallado todos los frameworks y codigo con los que ha trabajado.
Podemos comenzar examinando sus funcionalidades.
La primera falla que encontramos es que podemos loguearnos como admin, simplemente utilizando el usuario "admin" y la contraseña "admin".
Primer gran fallo de seguridad.
Podemos editar y modificar la lista de libros que ofrece la tienda.
Colocando el nombre de la pagina en internet, podemos encontrarnos con un exploit disponible.
exploit-db es la pagina por excelencia para encontrar este tipo de codigo y una fuente inagotable de información para realizar aplicaciones más seguras.
Nos descargamos el exploit (escrito en python) desde exploit-db
Este es el codigo del exploit.
Podemos analizarlo para entender como funciona.
Invocamos el codigo con la aplicación python3 y lo dirigimos hacia la URL de la página en cuestión.
Podemos ver que se nos deja subir la Shell al sistema, eso es un fallo de seguridad.
Lanzamos la shell y ya tenemos acceso.
Listamos el contenido con "ls" y vemos el contenido.
Nos interesa el archivo que se encuentra en la carpeta /opt
"cd /opt"
"ls"
"cat /opt/flag.txt"
Tenemos la bandera.
Es importante mantener actualizadas las herramientas y estar atentos a posibles vulnerabilidades descubiertas. La seguridad de una aplicación web puede incrementarse exponencialmente con solo mantener y utilizar herramientas con las últimas actualizaciones.
NOTA: Todas estas pruebas fueron realizado en la página TryHackMe, un sitio que ofrece entornos controlados para practicar pentesting..
Estos procedimientos no deben realizarse a equipos ajenos sin una previa autorización.