LE BLOG DE RICK Chasseurs de succès Linux Random WU

Par Rick dans WU le 21/04/2021.


Alter Egg-o

Cet article est le numéro 3 de la série WU PhackCTF 2021.

  1. WU PHACKCTF 2021
  2. Alien
  3. Alter Egg-o
  4. Ben & Harry
  5. Git de France
  6. Quick Response Code
  7. Tendu comme un slip & No strings

En lisant le sujet du chall, on comprend vite que le flag se trouve dans une image qui est dite corrumpue.

Je télécharge l’image PNG et utilise la commande file pour voir ce qu’est ce fichier pour le système. Il est considéré comme un fichier de données. Comme s’il manquait quelque chose pour le définir en tant que PNG. Si j’essaie d’ouvrir le fichier avec feh, un message d’erreur nous prévient sur l’absence de bytes magiques.

Je vais me servir de xxd pour voir le contenu en hexadécimal du fichier et on remarque dès le début un problème :

00000000: dead beef 0d0a 1a0a 0000 000d 4948 4452

DEADBEEF est utilisé comme valeur magique pour débugger. La première ligne d’un fichier constitue aussi souvent les headers de ce fichier, apportant des informations diverses et pas des valeurs de débug !

La documentation officielle du format PNG indique la signature de fichier / header / bytes magiques obligatoire pour tout fichier PNG. Ici se trouve la preuve qu’il manque quelque chose. Les fichiers PNG commencent toujours par une certaine suite de chiffres. J’ai alors modifié via Hexed.it les premières valeurs et retéléchargé l’image. Le flag apparait sous nos yeux ébahis.