[日本語] [English]

Canary

Discordのアカウント CanaryCanary Admin が指定された。

とりあえず、StegBot と同様に /info を送ってみることにした。
Canary へのDMで /info を送ると、ソースコードとしてGitHubのURLが提示された。

app/app.ts から、CanaryへのDMで /create コマンドを送ることで、アクセスされるとDMで通知が来るURLを作れることがわかった。
さらに、Cookieに指定のデータを入れた状態で、ここで作られるURLと同じホストのパス /flag にアクセスすることで、flagが得られそうであることも読み取れた。

また、admin/app.ts から、Canary Admin にDMでURLを送ると /flag に送るべきCookieをセットした状態でアクセスするが、
http://(指定のドメイン) または https://(指定のドメイン) から始まるURLへのアクセスは拒否されることがわかった。

さて、URLにはドメイン名の前に認証情報を入れることができることが知られている。
Canary で作成したURLのドメイン名の前に hoge:fuga@ を加えたURLを Canary Admin に渡すと、 Canary からCookieを含むヘッダの情報が送られてきた。

/flag にアクセスし、Firefox の開発者ツールで送られてきたCookieのヘッダを追加して「編集して再送信」することで、flagが得られた。

buckeye{d0ma1n_m4tch1ng_1s_c4s5_1ns3nsit1v3}

writeup by MikeCAT

BuckeyeCTF 2021