En ouvrant le fichier PNG dans un éditeur hexé, on repère très vite un chunk suspicieux: sTeG
En cherchant sur le net, je trouve un steg-png qui utilise un chunck similaire stEG
Je change donc la casse du chunk pour correspondre
Je build le steg-png
Et c'est un fail!
Plus simple
En regardant à nouveau les données, je m'aperçoit que IHDR et IDAT
suivent directement le chunk sTeG, donc,
il suffit peut-être d'extraire le contenu du chunk sTeG
Et oui! C'était juste ça: il suffit de supprimer le premier chunk IHDR: on efface
les lignes 2 (0x00000010) et 3 (0x00000020) via hexeditor -b ./stage2.png
et le R (0x52) qui sera en trop ligne 4 (0x00000030)
Et le flag est visible: 404CTF{7h47_v1c10us_m1zzing_z19natur3}
On peut aussi utiliser pngsplit pour récupérer uniquement le contenu du chunck
sTeG et le sortir dans un fichier dédié. En revanche, il faudra rajouter à la main
le magic number PNG 89 50 4e 47 0d 0a 1a 0a.
Dans notre méthode, on a gardé toutes les données du PNG original, ce qui fait une image plus lourde