社内で令和CTFが話題に上がったので、個人戦なら気軽に出られるなと思ったこともあり、久しぶりに参加しました。
http://score-reiwa.seccon.jp/
2問(実質1問)を解き、110点を獲得しました。
終了後に追加で1問解けたので、経過とともに書いていきます。
大会中
開始からしばらくは全然ページにつながらず、Twitterで様子を伺ってました。
— yue82@る (@yue_roo) 2019年4月30日
開始15分ほどで少しずつつながりはじめ、めちゃくちゃレスポンス悪いけどどうにか問題を見ることができる、という状態になりました。
それからしばらくはファイルのダウンロードが進まなかったので、ダウンロードの必要なさそうな問題からやっていこうという感じでした。
例題のあとは 零は? を解きつつ、ファイルのダウンロードを試みて、Forensicが好きなのでその辺をやりはじめました。
気づいたら令和になってたし、延長されていた開催時間も終わってました。残念。
結果ページ: http://score-reiwa.seccon.jp/users/321
WriteUp
フラグの例は?(MIsc 10point)
SECCON{reiwa}
零は?(Misc 100point)
接続先のドメインとポート番号が書かれており、nc
すると加減乗算の方程式の解を訊かれる。
$ nc zerois-o-reiwa.seccon.jp 23615 [1/100] 0=59-? ?=
100問あるらしいので解くやつを作った。
乗算までしか出てこないので、式を整理するとm*? = a0
となる。
与式の?
に0を代入すると a0
が分かる。
与式の?
に0を代入した値から ?
に1を代入した値を引くとm
が分かる。(移項があるのでa0-a1
にする)
SECCON{REIWA_is_not_ZERO_IS}
新元号発表 (Forensic 100point)
過程
いらすとや感あふれるPDFが落ちてくる。
元号発表の瞬間が隠れてしまっている。
QRコードを隠している画像は選択できるので、イラレで開いて動かしてQRコード部分を獲得。
前に一部見えないQRコードの問題を解いたことを思い出し、同じスクリプトとstrong-qr-decoderを使ってみた。
不明な部分が白抜きだとスクリプトをそのまま使えないので色を塗る。
創英角ポップ体っぽいぞ?と思って載せてみるといい感じに一致した。
しかしそのままでは 不明モジュールを含むブロック数が(最大)誤り訂正数を超えています
とのことで、人力で修正してそれっぽくなってきたところまでがんばっていた。
The flag is SEC00NzovepaYPaterlap_overera
ちなみにこの辺りで2時はとっくに過ぎていた。
正答
お腹が空いたのでWriteUpを探してみたらこちらの記事があった。
PDFから画像を抽出するWebサービスでバラすと別の画像が出てくるらしい。
イラレでちゃんと分解してみたらたしかに画像がある。
この画像は上記の記事のものとも違うようだが、どちらにせよこのままでは使えなさそう。
しかし見ているとQRコードの欠けている部分そのままなのではないかと思われたので、いくつか画像抽出するサービスを試してみると、ドンピシャの画像が出てきた。
元のQRコードにうまいこと貼り付けるとスマホカメラからそのまま読める画像ができた。
The flag is SECCON{overlay_overlap_overera}