Emdee five for life

🔍 Dificultad: Fácil

Entramos en el host que nos proporcionan.

Encriptamos la cadena en MD5 tal como se nos pide.

echo -n "Mlji3Pbgj4zaofjOMDvu" | md5sum

Pegamos el resultado.

¡Demasiado lento! Parece que necesitamos hacer un script para conseguir la flag.

  1. Defino la URL del reto en URL, que apunta a un servidor en la dirección http://83.136.249.46:56367.

  2. Inicio una sesión con requests, lo que me permite mantener cookies o autenticaciones necesarias.

  3. Hago una petición GET a la URL para obtener el contenido de la página web.

  4. Uso BeautifulSoup para analizar el HTML de la respuesta y buscar elementos <h3>. Normalmente, dentro de estos elementos está el texto que necesito procesar.

  5. Extraigo el texto dentro de <h3> y lo guardo en la variable md5. Este texto parece ser un valor que debo transformar.

  6. Aplico la función hash MD5 sobre ese texto usando hashlib.md5(), y luego convierto el resultado en un formato hexadecimal (hexdigest()). Este hash será la respuesta esperada por el reto.

  7. Creo un diccionario con el hash MD5 (data = {'hash': md5_hash}), que será enviado en una petición POST al servidor.

  8. Envió el hash de vuelta al servidor con request.post(url=URL, data=data), esperando que me responda con algún mensaje, como “¡Correcto!” o “Flag: …”.

  9. Imprimo la respuesta del servidor, lo que probablemente contenga la flag o algún otro mensaje de confirmación.

Ejecutamos.

Last updated

Was this helpful?