CTF練習問題 #1 unzip!! ヒント&解説編その2
CTF練習問題 #1 unzip!! ヒント&解説編その2
ヒント&解答編です。今回は第2問です。
問題編はこちらをご覧ください。
ヒントと解説は ↓ スクロール ↓
ヒント1
拡張子がなくても、何のファイルなのか判別可能。
ヒント2
バイナリを見てみたり、Unixのfileコマンドで調べてみる。
ヒント3
拡張子は変更可能。
解説
今回は、ファイル名が「who_am_i」となっています。
windows PCの場合は、拡張子(.exeや.docx、.xlsxなど)で何のファイルなのかを識別しています。そのため、windows PCで開いた場合は何のファイルなのか一見するとわかりません。
しかし、ヒント1『拡張子がなくても、何のファイルなのか判別可能。』となっています。
実は、ファイルのデータの中には、『フォーマット識別子』と呼ばれる、自分自身が何のファイルなのかを示す部分があります。
ヒント2は『バイナリを見てみたり、Unixのfileコマンドで調べてみる。』となっています。「バイナリ」とは、2進数のことです。コンピュータのデータは「0」と「1」でできているため、2進数で表現されているデータ※のことを「バイナリ」ということがあります。
※実際にバイナリを表示する場合は、0と1の列では見づらいため、16進数に変換して表示することが多いです。
では、実際にWindows環境でバイナリを表示してみましょう。バイナリを表示するためには、『バイナリエディタ』と呼ばれるソフトを利用します。
バイナリエディタにはいくつか種類がありますが、今回は「Stirling」を使用します。
「who_am_i」をStirlingで開くと、↓こんな感じ↓です。 赤い丸で囲んだところ が、このファイルのフォーマット識別子です。
フォーマット識別子が「50 4B」となっているファイルは何なのか検索してみると、どうもzipファイルのようです。
が、このままではwindowsは何のファイルか認識できないため、解凍に失敗します。
そこで、ヒント3の『拡張子は変更可能。』です。
実はファイルの拡張子は簡単に変更が可能です。「右クリック」→「名前の変更」を選びます。
※拡張子が表示されない場合は、拡張子が表示されるように変更する必要があります。
名前を「who_am_i.zip」に変更します。
変更すると解凍ができるようになりました。今回はパスワードもかかっていないようなので、そのまま解凍しましょう。
解凍後のフォルダには「flag.txt」が入っています。
開いてみると、フラグが書いてあります。
ということでflagは
flag{W3_can_chang3_3xt3nsi0n}
です。
オマケ
W3_can_chang3_3xt3nsi0n
→W3_can_chang3_3xt3nsion
→We_can_change_extension
拡張子って簡単に変更可能なんですね(^^;
#1 unzip!!
問題文はこちら
第1問 ヒントと解答
第2問 ヒントと解答
第3問 ヒントと解答
CTF練習問題
練習問題
Excel VBA 練習問題
Unity 練習問題
C# 練習問題
SQL練習問題
java 8 練習問題
Java プログラム作成問題
C言語練習問題
PHP練習問題
TECH PROjin 各連載はこちら!
開発系の技術が学べる連載
Developer 連載一覧
インフラ系の技術が学べる連載
Infra_Engineer 連載一覧