Outils d'utilisateurs

Outils du Site


29c3:exploitation:minesweeper

Ceci est une ancienne révision du document !


Table des matières

minesweeper

Overview

Enough of reversing? Play this nice game and chill a bit, if you want, you can even save the game and enjoy it later! XX.XX.XX.XX:1024

http://dl.ctftime.org/57/193/minesweeper.rar

Solution

On se connecte sur le serveur distant: nc xx.xx.xx.xx 1024 et un demineur s'affiche. On peut entrer differentes commandes (ouvrir une case, flagger une case, quitter, sauver et charger une partie)

Le seul fait de gagner la partie ne suffit pas, le serveur affiche juste “You win”

On va donc regarder de plus pres le code et en particulier les fonctions de sauvegarde et chargement

sauvegarder:

msg = f.save()
h = hashlib.sha1()
h.update(msg)
msg = "4n71cH3aT" + h.digest() + msg
tmp = ""
for i in xrange(0, len(msg)):
    tmp += chr(ord(msg[i]) ^ ord(encrypt_key[i % len(encrypt_key)]))
msg = tmp
return (True, "Your savegame: " + base64.standard_b64encode(msg))
29c3/exploitation/minesweeper.1356867232.txt.gz · Dernière modification: 2017/04/09 15:33 (modification externe)