Emdee five for life
🔍 Dificultad: Fácil
Last updated
Was this helpful?
🔍 Dificultad: Fácil
Last updated
Was this helpful?
Entramos en el host que nos proporcionan.
Encriptamos la cadena en MD5 tal como se nos pide.
Pegamos el resultado.
¡Demasiado lento! Parece que necesitamos hacer un script para conseguir la flag.
Defino la URL del reto en URL
, que apunta a un servidor en la dirección http://83.136.249.46:56367
.
Inicio una sesión con requests
, lo que me permite mantener cookies o autenticaciones necesarias.
Hago una petición GET a la URL para obtener el contenido de la página web.
Uso BeautifulSoup para analizar el HTML de la respuesta y buscar elementos <h3>
. Normalmente, dentro de estos elementos está el texto que necesito procesar.
Extraigo el texto dentro de <h3>
y lo guardo en la variable md5
. Este texto parece ser un valor que debo transformar.
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.
Creo un diccionario con el hash MD5 (data = {'hash': md5_hash}
), que será enviado en una petición POST al servidor.
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: …”.
Imprimo la respuesta del servidor, lo que probablemente contenga la flag o algún otro mensaje de confirmación.
Ejecutamos.