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
すると現在のディレクトリにフラグが出力されているので、終了。
感想とか
問題のタイトルはヒントにもなるけど惑わされたりすることを学びました。
今回は標準コマンドだけでできたので大分楽だったんじゃないかな。