リンク先のページにアクセスします。GenerateページのHTMLソースを確認すると、コメントにSQL文が記載されていますので、SQLインジェクションを試してみます。Duckprint
100
See if you can steal the admin's duck print and validate it!
When calculating the SHA, leave the periods in

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

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

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

仕方ないので、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= | sha256sumDuck Printが求まりましたので、Validateページを表示します。まず、Cookieに{"username":"DuckDuckGoose","admin":1}を設定してから、Validateのリンクをクリックします。すると、次のValidateページが表示されるので、求めたDuck Printを入力してSubmitすることで、フラグが表示されます。
609707407e907abb347906ce024de604effee09cdcc613ca5cea023796d1733c

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









