見出し画像

おさらいnote~第8回 ksnctf#5 Onion~

こんにちは、宮下です。
今回は久しぶりにksnctfのwriteupを書いていきます!
私のやり方は少し時間がかかるやり方なので、はやく終わらせたい方はもう一つのやり方があるのでそちらで解答してください!
それではよろしくお願いしますm(_ _"m)

1.問題

問題名:Onion
配点:70点
こちらから問題を見ることができます。

2.前置き(意味が分かる人は飛ばして大丈夫です👌)

①Base64というエンコード方式でデコードをしていきます。...といわれてもどういうことかわかんねえよっ!という方にここで補足しておきます。
まず、Wikipediaから以下のように引用し、Base64の説明とします

Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。-wikipediaより引用

エンコードはデータを他の形式に変換すること
デコードはそれを再度ほかの形式からデータに戻すこと

つまり、64文字を使用するBase64のルールにのっとって、文字をデータに変えることが今回の最初にすることです。

3.解いてみる

わかったところで解いていこうと思います。
最初にBase64というエンコード方式でデコードをしていきます。
問題文をコピペしたonion.txtと、デコードするファイルonion1.txtをあらかじめ用意してください。
コマンドは以下の通りです。

certutil -f -decode "onion.txt" "onion1.txt"

結果、入力長が7298、出力長が5334となりました。
ファイルを見ると、まだ意味の分からん謎の羅列です。
なので根気強く、繰り返してみましょう!
二回目以降は

certutil -f -decode "さっきデコードしたファイル" "空の新しいファイル"

としてください!
何回か繰り返して以下のような文字列が出てきたら順調です!

begin666 <data> 
51DQ!1U]&94QG4#-3:4797I74$AU
​
end

begin666って何かの意味がありそうなので調べてみたらこんなものがありました。説明を以下に引用します。

メール送信時のエンコード形式に uuencode 形式を指定した状態で添付ファイル送信すると、受信したメールの本文中に添付ファイルが文字化けして表示される現象が発生する場合があります。
※uuencode とは、画像やWord等のバイナリデータをテキストデータに変更するエンコード形式です。
※本現象に該当する場合、メールの本文中に表示された添付ファイル部分の文字列が、「begin 666」から始まります。
-https://faq.zenlogic.jp/faqs/FAQ01731より引用

uuencodeはデータ→テキストなので、反対のことをすればデータを復元できそうです。

コマンドは以下の通りになります(こちらはwindowsコマンドではなく、Linaxコマンドです)。

uudecode 復元したいファイル名

すると、復元したいファイルと同じディレクトリのところに、新しいファイルが追加されていると思います。
そのファイルを開いてみてください。

画像1

フラグが出てきました!!これで解けそうです
ksnctfのほうに入力してみましょう~~

画像2

正解でした~~~!!!👍👍👍

この記事が気に入ったらサポートをしてみませんか?