はまやんはまやんはまやん

hamayanhamayan's blog

Just a Normal CTF [UIUCTF 2020]

CTFtime.org / UIUCTF 2020 / Just a Normal CTF

Do NOT use sensitive passwords on this site. You can use a fake email if you want, too.
https://ctfd.chal.uiuc.tf
Author: tow_nater

f:id:hamayanhamayan:20200724112914p:plain

CTFサイトがある。

何から手を付けようか

方針がなんも分からん。
分からんけど、/users/5みたいに他のユーザー見てみると、名前をadminにできるみたい。
色々やってみたけど、adminにはできなかったので、うまいことやると名前をadminにできてフラグゲット?

ダメだ。なんもわからんぞ

just_a_normal_ctf.pdf - Google ドライブ
解説を見よう…

URL偽装か…?

実は脆弱性は「パスワード再発行」にある。
ログイン画面のForgot your password?で登録済みメールアドレスを入力する。

f:id:hamayanhamayan:20200724112924p:plain

ここで再発行用のURLが得られる
http://ctfd.chal.uiuc.tf/reset_password/ImVlIg.XxjQAQ.wTmpasqGzCyqBhwN0QUR5tRQ4jo 実はこのハッシュ化されてそうな所のピリオドの最初のところは"ユーザー名"base64ハッシュになっている。
なので、これを"admin"ハッシュ値に変えてみよう。
http://ctfd.chal.uiuc.tf/reset_password/ImFkbWluIg.XxjQAQ.wTmpasqGzCyqBhwN0QUR5tRQ4jo

f:id:hamayanhamayan:20200724112934p:plain

ダメか

実は違ったアプローチ

ログインユーザーを作成するときに、ユーザー名を adminとして作成する。
すると、userページではちゃんとadminとして表示される。

それで、この状態でパスワード再発行を試みる。
http://ctfd.chal.uiuc.tf/reset_password/ImFkbWluIg.XxjRpA.3q7ZOnvDM8ATK4h8hW3rhvUYW6Y
以上のようなURLが発行されて、ピリオドの最初のところは、adminがちゃんと入ってくれる。
これで、実行すると、自分が作ったユーザーではなく、adminユーザーのパスワードが初期化されてくれる(なるほど!)。

あとは、adminユーザーに対して自分がリセットしたパスワードを入れてログインすると、adminユーザーログインができるので、 管理者画面に行ってフラグを取る。

実はヒントがあった

唯一問題が提示されていて、Whitespace. How does it work?と書いてありましたね…