Archives du blog

dimanche 28 octobre 2012

IO level01

Bon, je préviens tout de suite cet article est un spoiler du level1 de IO (j'ai laissé tombé quelque temps la sécurité, et comme je reprends tout juste je me refais la main sur les bases et sur ma façon d'écrire mes articles =)  )




Ici, nous sommes donc niveau 1 (oui y'a encore pas mal de route à faire...)
Dans le dossier /levels se trouvent les binaires faillibles du serveur. Comme nous sommes au niveau 1 nous ne pouvons que lancer level01.bin ! Testons :






Bon.. Apparemment ils ont pas changé le type de l'épreuve mais ils l'ont améliorés. Avant il était juste possible de passer ce niveau en lançant une commande "strings" pour lire les chaînes contenues dans le programme et y trouver notre mot de passe. Ici cette technique un peu bancale ne fonctionnera pas..
Ouvrons le avec GDB pour examiner ses entrailles :




































La première chose que l'on remarque c'est la présence de la fonction "pass" en main+52 pas besoin de regarder autour, il ne s'agit après tout ici que du level1 et le nom est assez évident... ;)
Explorons plus en détail cette fonction :



















On remarque le passage de 8 variables en mémoire, c'est notre mot de passe :
























Mot de passe du binaire : SecretPW
Moralité (même si vous vous en doutez déjà), ne mettez jamais en dur un mot de passe dans n'importe quel programme que ce soit, ça reste réversible et dangereux.





Aucun commentaire:

Enregistrer un commentaire