Duckprint

100

See if you can steal the admin's duck print and validate it!

When calculating the SHA, leave the periods in

http://130.211.242.26:31337

リンク先のページにアクセスします。GenerateページのHTMLソースを確認すると、コメントにSQL文が記載されていますので、SQLインジェクションを試してみます。

no title

次のように入力してWHERE句を無効化し、usersテーブルの全データを取得してみます。

1
次のように全ユーザが表示されました。AdminユーザであるDuckDuckGooseの情報も表示されています。

2

DuckDuckGooseユーザのDuck Printは、下図のようにGenarateページでは生成できないようです。

3

仕方ないので、Genarateページに記載されている式に従って、Duck Printを求めます。

field value
username DuckDuckGoose
cookie {"username":"DuckDuckGoose","admin":1}
token d4rkw1ng

field base64
username RHVja0R1Y2tHb29zZQ==
cookie eyJ1c2VybmFtZSI6IkR1Y2tEdWNrR29vc2UiLCJhZG1pbiI6MX0=
token ZDRya3cxbmc=

SHA256ハッシュ値を求めます。
$ echo RHVja0R1Y2tHb29zZQ==.eyJ1c2VybmFtZSI6IkR1Y2tEdWNrR29vc2UiLCJhZG1pbiI6MX0=.ZDRya3cxbmc= | sha256sum
609707407e907abb347906ce024de604effee09cdcc613ca5cea023796d1733c
Duck Printが求まりましたので、Validateページを表示します。まず、Cookieに{"username":"DuckDuckGoose","admin":1}を設定してから、Validateのリンクをクリックします。すると、次のValidateページが表示されるので、求めたDuck Printを入力してSubmitすることで、フラグが表示されます。

4

フラグは、
TUCTF{Quacky_McQuackerface}
です。