Who cares about SSI anyway ?
Flag: HACKDAY{TIM3_t0_FlAg}
Challenge
Ce challenge tourne sur un docker et n'est pas disponible
Solution
Grâce à ce que répond le serveur, on commence par déterminer la taille du flag :
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('challenges.hackday.fr', 48118))
client.settimeout(3)
client.recv(1024)
for i in range(1, 25):
client.send(b'a' * i + b'\n')
data = client.recv(1024)
if not data.startswith(b'Wrong length'):
print(f'Flag size: {i}')
# Flag size: 21Maintenant, on sait que le flag commence par HACKDAY. Si l'on essaie ça, on se rend compte qu'il y a un délai de réponse.
Ce délai augmente pour chaque lettre correcte de gauche à droite. On va utiliser ce délai de réponse pour savoir quelles sont les bonnes lettres (il faut avoir une connexion stable).
Comme le temps d'attente est linéaire, on a vite fait d'attendre 2s par lettre. J'ai donc multithreadé le script pour gagner du temps, mais limité à 20 threads pour réduire le risque d'instabilité et donc de faux résultats.
Mis à jour
Ce contenu vous a-t-il été utile ?