[ksnctf] Onion

ksnctfにチャレンジ 第5問目です。

※ksnctfは常駐型のCTFサイトです。 ※問題のページはコチラです。

Onion

base64エンコードされたと思しき文字列が渡されます。 この文字列を onion0.txt という名前で保存して

$ cat onion0.txt | base64 -d -

を実行すればデコードされます…がまた base64らしき文字列が出てきました。

ここで問題のタイトルに注目すると玉ねぎ、つまり、base64の重ねがけ だろうことは察しがつきます。

$ cat onion0.txt | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d - | base64 -d -  > onion0_dec.txt
$ cat onion0_dec.txt

汚いですが実際に説いた時と同じものがこれです。 base64の処理結果をみつつ コピペしていっただけです。 もうちょっと長かったら自動ループのスクリプトなどを書くところですが 文字列がどんどん短くなっていくため終わりは見えます。

そして実行結果がこちら

begin 666 <data>
51DQ!1U]&94QG4#-3:4%797I74$AU

end

90年代のアングラサイトぐらいでしか見たことがない uuencodeのデータが出てきました。

Fedoraで uudecode コマンドは sharutils パッケージに含まれています。

$ sudo dnf install sharutils

$ uudecode -o flag.txt onion0_dec.txt
$ cat flag.txt
FLAG_????????????????