magic_number

ファイル群と以下の文字列が与えられ、これらの文字列が示すファイルを探すことを要求された。

A set of files and these strings were given, and I was asked to find the files specified by these strings.

[89 50 4e 47] [52 61 72 21] [ff d8 ff e0]

文字列を16進数として解釈すると、89 50 4e 47には「PNG」を表すASCII文字コードが含まれ、 52 61 72 21には「Rar!」を表すASCII文字コードである。
また、ff d8 ff e0については、ffが含まれていることからJPEGっぽい印象を受けた。

そこで、以下のように、odコマンドとheadコマンドを用い、ファイルの先頭部分を確かめた。
結果、これらのファイルの先頭部分は指定された文字列になっていた。

Seeing the strings as hexadecimal number, 89 50 4e 47 contains the ASCII code for "PNG" and 52 61 72 21 is the ASCII code for "Rar!".
Also, ff d8 ff e0 looked like a JPEG because it contains ff.

Based on this, I used the commands od and head in this way to check the initial parts of the files.
As a result, I found that the initial parts of the files are the strings given.

YUKI.N>od -Ax -t x1 post.png | head -n 1 000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 YUKI.N>od -Ax -t x1 rar.rar | head -n 1 000000 52 61 72 21 1a 07 01 00 33 92 b5 e5 0a 01 05 06 YUKI.N>od -Ax -t x1 light.jpg | head -n 1 000000 ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 60 od: 書き込みエラー od: 書き込みエラー: Invalid argument

これらのファイルのファイル名を指定のフォーマットに当てはめることで、flagが得られた。

I obtained the flag by putting the file names of the files to the specified format.

flag{post_rar_light}

setodaNote CTF