鶴の徒然

徒然なるままに鶴が書く日記。

MaidakeCTF Write-Up

本記事はタイトル通りMaidakeCTFのWrite-Upとなっております。なお、今回初めてWrite-Upを書く上に、そこまで解けていないので参考程度によろしくお願いします。
※catで見ればokとあるところはもしかしたら何かしらワンクッション置いてるかも知れませんし、解き方が正しいか覚えていない&確かめられていないので悪しからず、です。

解いたもの一覧

f:id:toorisugari-turu:20190921142839p:plain
※追加でWebのUsualとMiscのStrong lineとTutle speedを解いたので、それも追加しておきました。

~Web~

White flag

白紙のページからフラグを取る問題です。
これはただ単にデベロッパーツール等を用いてソースを読めば終了です。

f:id:toorisugari-turu:20190921143532p:plain

2048

カーソルキーでタイルを移動させて同じ数字にぶつけて数を倍にし、2048を目指すゲームです。
地道にやるのは面倒くさいですが、これもWhite flagと同じくソースにありました。

f:id:toorisugari-turu:20190921144214p:plain

Baked goods

クッキーが背景のページからフラグを取る問題です。...ヒントがヒントすぎるのでCookieを見てみるとフラグがありました。なお%7bは{、%7Dは}です。

f:id:toorisugari-turu:20190921144556p:plain

Not hiding

頭隠して尻隠さず、とポップアップがあったので後ろの方に何かあるだろうと思いつつ解きました。
ただし闇雲に解くのは効率が悪いため、デベロッパーツールのNetworkで使用されているファイル等は何かあたりをつけてソースを見てみました。
ここではChromを用いて書いているため速攻見つかりましたが、Firefoxの場合、スタイルエディターの一番下までスクロールしなければ見つかりません(てな訳で頭隠して尻隠さず、ということでしょう)。

f:id:toorisugari-turu:20190921145511p:plain

XSS Alert

XSSをやってみようとあるので好きなものを入力してみましょう!((((

結果としてポップアップが出てきて、そこにフラグがありました。

~QR~

white or black

csvファイルからQRコードを読み取る問題です。データを見てみると0と1のみだったため、1は黒塗りで0は塗らないor白塗りとあたりをつけます。本来であればコード書くとこなのですが、眠すぎて普通に塗りつぶしました(は?)

~Misc~

Welcom

ポップアップに書かれたフラグを入力すれば終わりです。

Hex

データが16進数なので純粋にUTF-8に変換すれば終了です。

Strong line

これはiPhoneバーコードリーダーで読み取れば終了です。
それと今回初めて知ったのですが、EAN128というバーコードの規格があり、128とは全アスキーコードを用いることが可能、ということを表しているそうです。

Turtle speed

これは純粋にモールス符号をデコードして出てきた文字を全て大文字のままflagのところに入力すれば終了です。

Condensed image

macユーザーなのでFinderでファイルを見て、ゆっくり入力すれば終了でした。

~Forensics~

Meta

jheadというjpegファイルからExif情報を取得したり編集したりできるコマンドを使いました。ただし、オプションとして-vをつけないとフラグは取れません。

Magic

catコマンドを用いて試しにファイル内を見てみたところ、文字化け等がない普通の文字列が出てきたため、目grepしてフラグをとって終了です。

~Crypto~

Is this a cipher

catコマンドを用いてファイルの中身を見たところ暗号化()されたフラグを確認しました。ここで出てきたフラグは

TWFpZGFrZUNURntiYXNlNjRfaXNfbm90X2FfY2lwaGVyfQ==

となっております。
ここで暗号化方式の一つのBase64は、

エンコードしたいファイルのバイナリデータを6bitずつ取り出し(足りない分は0を追加する)、
6ビットとAscii文字の変換表を用いて、4文字ずつにする(4文字に満たない場合は=を追加する)

とあるのでBase64であると当たりをつけてデコードすれば終了です。

base64ってなんぞ??理解のために実装してみた - Qiita

Easy crypto

この問題もフラグが暗号化()されているのでそれをデコードすればokです
catコマンドでファイルの中身を見たところ、

ZnvqnxrPGS{Pnrfne_rapelcgvba_vf_rnfl_gb_penpx}

となってました。ここで{ が暗号化されずにそのままであるためカエサル暗号であると当たりをつけました。試しにMに相当するZとaに相当するnがどれだけずれているか確認したところ前(もしくは後ろ)に13文字ずれていることが確認できたので、対応表を作成し、その通りにデコードすれば終了です。

~Reversing~

Strings

catコマンドでファイルの中身を見れば終了です。