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
CTFサイトがある。
何から手を付けようか
方針がなんも分からん。
分からんけど、/users/5
みたいに他のユーザー見てみると、名前をadminにできるみたい。
色々やってみたけど、adminにはできなかったので、うまいことやると名前をadminにできてフラグゲット?
ダメだ。なんもわからんぞ
just_a_normal_ctf.pdf - Google ドライブ
解説を見よう…
URL偽装か…?
実は脆弱性は「パスワード再発行」にある。
ログイン画面のForgot your password?で登録済みメールアドレスを入力する。
ここで再発行用のURLが得られる
http://ctfd.chal.uiuc.tf/reset_password/ImVlIg.XxjQAQ.wTmpasqGzCyqBhwN0QUR5tRQ4jo
実はこのハッシュ化されてそうな所のピリオドの最初のところは"ユーザー名"
のbase64ハッシュになっている。
なので、これを"admin"
のハッシュ値に変えてみよう。
http://ctfd.chal.uiuc.tf/reset_password/ImFkbWluIg.XxjQAQ.wTmpasqGzCyqBhwN0QUR5tRQ4jo
ダメか
実は違ったアプローチ
ログインユーザーを作成するときに、ユーザー名を admin
として作成する。
すると、userページではちゃんとadminとして表示される。
それで、この状態でパスワード再発行を試みる。
http://ctfd.chal.uiuc.tf/reset_password/ImFkbWluIg.XxjRpA.3q7ZOnvDM8ATK4h8hW3rhvUYW6Y
以上のようなURLが発行されて、ピリオドの最初のところは、adminがちゃんと入ってくれる。
これで、実行すると、自分が作ったユーザーではなく、adminユーザーのパスワードが初期化されてくれる(なるほど!)。
あとは、adminユーザーに対して自分がリセットしたパスワードを入れてログインすると、adminユーザーログインができるので、 管理者画面に行ってフラグを取る。
実はヒントがあった
唯一問題が提示されていて、Whitespace. How does it work?
と書いてありましたね…