UMass CTF 2023 Writeup

この大会は2023/3/25 8:00(JST)~2023/3/27 2:00(JST)に開催されました。
今回もチームで参戦。結果は525点で571チーム中75位でした。
自分で解けた問題をWriteupとして書いておきます。

welcome (misc)

問題にフラグが書いてあった。

UMASS{W3LC0M3_T0_TH3_C0MP}

DeepFried (web)

jpgファイルを指定し、アップロード後に、キャプションを指定すると、タイトルと画像が表示されるようなWebページ。
適当なjpgファイルを選択して、Submitする。
http://deepfried.web.ctf.umasscybersec.org:3000/captionsubmitにリダイレクトされ、クッキーには以下のように設定されている。

cca6d00d1827987c7653ca09df8e4fe7/TheFlag.jpg

"../"は削除されるが、"....//"で親ディレクトリを指定できることを使う。
クッキーの値を"....//restricted_memes/TheFlag.jpg"に書き換え、適当なcaptionを指定し、Submitする。
/restricted_memes/TheFlag.jpgの画像が表示できたが、フラグが読めない。

flag.txtを読む必要があるようだ。
クッキーの値を"....//restricted_memes/flag.txt"に書き換え、適当なcaptionを指定し、Submitする。画像は表示されないので、HTMLソースを見ると、以下のように書いてある。

<div id="stuff">
  <div id="content" style="text-align: center;">
    <h1>overwrite cookie</h1><br>
    <img src="VU1BU1N7dkBNbyRfQVByMG5UYVJfMSFpIUkhfQo=">
  </div>
</div>

base64文字列をデコードする。

$ echo VU1BU1N7dkBNbyRfQVByMG5UYVJfMSFpIUkhfQo= | base64 -d
UMASS{v@Mo$_APr0nTaR_1!i!I!}
UMASS{v@Mo$_APr0nTaR_1!i!I!}