st98 の日記帳


[gtf] April Fools' GTF 3rd 2019 の write-up

4 月 1 日に開催された April Fools’ GTF 3rd 2019 にチーム Harekaze で参加しました。最終的にチームで 1557 点を獲得し、順位は得点 170 (121+49) チーム中 1 位でした。

以下、私が解いた問題の write-up です。

[Misc 50] Welcome!!

問題文に何も書かれていないように見えますが、ソースを見ると display: none でフラグが書かれていました。

<h1>
Welcome!!
</h1>
<h3>問題</h3>
<p><span style="display: none;"><code>FLAG{Welcome_to_our_gtf}</code></span></p>
FLAG{Welcome_to_our_gtf}

[Guess, Trivia 10] New 元号

次の元号はなーんだ?(制限時間は元号発表まで!w)

@hiww さんが U+32FF を試してこれが通らないことを確認していました。もしやと思い、Chrome で window.copy(String.fromCodePoint(0x32FF)) を実行しフラグとして提出してみると受理されました。

[Trivia 100] javascript

(問題文略)

無限に alert を呼び出す JavaScript のコードといえば、兵庫県警です。

兵庫県警

[Misc, Web 502] scoreserver

スコアサーバーにフラグの画像があります.探してみてください.
scoreseverのヒント: \/assets\/flag-[0-9a-f]{64}.png

スコアサーバのソースコードをあたればフラグのファイル名がわかるのではと考え https://bitbucket.org/nomeaning777/minictf にアクセスしてみましたが、競技時間中には非公開にされていました。

他にどこかで公開されていないか minictf でググってみると、Docker Hub に保管されているそれっぽいイメージがヒットしました。このイメージを取得し、どのようなファイルがあるか確認していると /app/public/assets/ 下にフラグが見つかりました。

$ docker pull nomeaning/minictf:twgtf2019-v3
$ docker run --rm -it nomeaning/minictf:twgtf2019-v3 bash
minictf@101c0abca12e:/app$ ls
Dockerfile  Gemfile  Gemfile.lock  README.md  Rakefile  app  bin  config  config.ru  db  lib  log  mini-ctf.iml  public  spec  tmp  vendor
minictf@101c0abca12e:/app$ ls public/
404.html  422.html  500.html  assets  favicon.ico  robots.txt
minictf@101c0abca12e:/app$ ls public/assets/
admin
ajax-loader-1eb9e7880f723999a4ed63eece6a6e4d4976833d3c16dc18b4ace3971728ab0d.gif
application-023970e85115f8db941c7930eff7ed4d0228c5cfb67a11d37700806135f79980.css
application-023970e85115f8db941c7930eff7ed4d0228c5cfb67a11d37700806135f79980.css.gz
application-abaf910b9473dd7caea73dec431685d5d11f5672981ced8daeb0142cd9eb4806.js
application-abaf910b9473dd7caea73dec431685d5d11f5672981ced8daeb0142cd9eb4806.js.gz
bootstrap
bootstrap-fileinput
favicon-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.ico
favicon-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.ico.gz
flag-ec8c768ace2d5f5e689fc06ec1f17281d65e273374d344ac82dc224e7da236e6.png
flags
font-awesome
logo-cbe19585c8005d3940d0e7caed7cbc7e0fc4fb05e6bda300e138ac3b4e428c7b.png
raty
minictf@101c0abca12e:/app$
FLAG{THANK_YOU_FOR_PLAY1NG_0UR_GTF!!!}

[OSINT 100] OSINT1

AFGTF{(TokyoWesternsの学生メンバーの数)_(TokyoWesternsの社会人メンバーの数)}

TokyoWesterns のメンバーへのインタビュー記事にある “TokyoWesternsは10数名程度のチーム” という発言をもとに総当たりをするとフラグが見つかりました。

AFGTF{8_6}

[Guess 150] Lost GTF

find me on the internet

Hint: 6667
Hint: IRC

Lost GTF という問題名から、幻の April Fools’ GTF 2nd 2018 に関連するところにフラグがあるのではないかと推測できます。

一昨年に開催された April Fools’ GTF 2017 のページ を参照すると、このときには freenode#afgtf2017 というチャンネルが公式の IRC チャンネルであったことが分かります。このことから、もし April Fools’ GTF 2nd 2018 が開催されていれば公式の IRC チャンネルは #afgtf2018 であっただろうことが推測できます。

freenode の #afgtf2018 に入ると、トピックにフラグが設定されていました。

AFGTF{we_couldn't_make_it_last_year}

[Trivia 100] 4 3 6

Flag Format: /^[A-Za-z]{4} [a-z]{3} [a-z]{6}$/

大文字が最初の単語だけに含まれるということは、おそらくこれは英文なのでしょう。Trivia というカテゴリに関連していそうな英文といえば、Hack the planet です。

Hack the planet

[Misc 101] Announcements

フラグは13:00(JST)にお知らせされます。

と言いつつ、問題画面上部に表示されている textarea には Flag of "Announcements" is としか表示されていません。どこかに全文があるのではないかと推測して /announcements にアクセスすると、ソースにフラグが書かれていました。

<div class='announcement-date'>2019/04/01 04:45:00 UTC</div>
<h2>
Flag of &quot;Announcements&quot; is 
</h2>
<span style="display:none;">FLAG{No_flag_no_life}</span>
FLAG{No_flag_no_life}

[Misc 444] survey

フラグはこちら!
https://forms.gle/trHmr69bX7GYnu8w8

ということでアンケートに回答してみましたが、

Thank you for filling out the survey :)
Your flag is in the score server.

と言われてしまいました。Welcome!! と同様にソースを見てみると、問題文のところに display: none でフラグが書かれていました。

<h3>問題</h3>
<p>フラグはこちら!<br>
<a href="https://forms.gle/trHmr69bX7GYnu8w8">https://forms.gle/trHmr69bX7GYnu8w8</a></p>

<p><span style="display: none;"><code>AFGTF{Thank_you_for_your_cooperation}</code></span></p>
AFGTF{Thank_you_for_your_cooperation}
このエントリーをはてなブックマークに追加
st98.github.io / st98 の日記帳