かたはらいたし。

個人的な技術的な活動をまとめていきたい。

ksnctf #5 Onion

今回は70ptと比較的ポイントが低めなので簡単そうな問題に取り組んでみたいと思います。
ksnctf - 5 Onion

Problem

異様に長い文字列

Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSV01WbDNXa1JTV0ZKdGVGWlZNakExVmpBeFYySkVU
bGhoTWsweFZtcEdZV015U2tWVQpiR2hvVFZWd1ZWWnRjRWRUTWxKSVZtdFdVZ3BpVlZwWVZtMTRj
MDB4V25GUmJVWlVUV3hLU1ZadGRHdFhRWEJwVW01Q1VGZFhNSGhpCk1WWlhWMjVHVW1KVldtRldh
a0Y0VGxaVmVXUkdaRmRWV0VKd1ZXcEtiMlJzV2tkWGJHUnJDazFXY0ZoV01qVlRZV3hLV0ZWdFJs
...

Answer

Onionってタイトルから最初はTorが関係してるのかって思いましたが違うみたい。
色々試行錯誤している内にbase64でデコードするとどんどん短くなっていくことに気づいた。
以下のように16回デコードすると意味ありげな文字列が出てくる。

$ echo [問題文] | 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
begin 666 <data>
51DQ!1U]&94QG4#-3:4%797I74$AU

end

とりあえずbegin 666<data>でぐぐってみるとuuencodeなるものがあるらしい。(参考:uuencode - Wikipedia
uudecodeコマンドを使うとデコードできるらしいので、先ほどの出力結果をflag_c.txtに保存して以下のコマンドを実行。

$ uudecode flag_c.txt

すると現在のディレクトリにフラグが出力されているので、終了。

感想とか

問題のタイトルはヒントにもなるけど惑わされたりすることを学びました。
今回は標準コマンドだけでできたので大分楽だったんじゃないかな。