![[ksnctf] Onion [ksnctf] Onion](/images/7/f/b/d/0/7fbd0f85591a032c4ef9b271f0ae0b3072e1fc92-.png)
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_????????????????