SECCON for Beginners 2018 名古屋 参加記

SECCON for Beginnersについて


https://2018.seccon.jp/beginners/about-seccon-beginners.html

当日スケジュール


  1. 開演、オリエンテーション(CTFとは?)

  2. 講義1 Crypto

  3. 講義2 Web

  4. 講義3 Reversing

  5. CTF練習コンテスト

  6. コンテスト解説

  7. 交流会

各講義について


各講義は約1時間だった。

内容は各ジャンルの基本的な部分を解説する形で初心者にもわかりやすかった。

練習コンテスト


Misc2問

Web3問

Rev3問

Crypto3?問(曖昧)

だった。

基本的には講義でやったことと、それの応用が問題として出題された。

私は、Misc1問(welcome問題)とWeb1問、Rev2問解いた(確か)

Web1はXSSの基本、alertを表示させるだけ。

Rev1は読むだけ。

Rev2はobjdumpでダンプして、フラグっぽいASCIIがいたので複合してゴミを取り除いたらcorrectした。

Rev3はコンテスト終了5秒前くらいに解けたが提出が間に合わなかった。

・解法

配布された実行ファイルをIDAで開いてみると、ctf4b{%d}がいたのでその周辺を調べた。

実行ファイルを実行するとパスワードが求められるが、IDAを覗くとパスワードがSECCONであるとわかる。

パスワード(SECCON)を入力すると、何度もパスワードを聞いてくるループにハマる。

IDAを見直すとループ回数が0x7ffであるとわかるので、その回数だけSECCONという文字列を実行ファイルに投げるシェルスクリプトを書いた。

以上でフラグゲット。

・別解(解説解)

実行ファイルをちゃんと読むとループの初期値とインクリメントする値がわかる。

ループを抜けた際に表示されるctf4bの中身はループ中に加算されている値であることがわかる。

この2つがわかれば、Excelでオートフィルを使うだけでフラグがわかる(フラグに入る値)。

感想


自分的にすごくちょうどいい難易度の内容だった。

模擬コンテストも講義の内容に準ずる形での出題で、習った知識をそのまま実践できてよかった。

懇親会でいろんな方とお話した感じ、年上の参加者の方が多い印象を受けた。

講義の内容は初心者向けのわかりやすい内容だったため、「気になってるけどCTF何もわからん」って人には参加することをおすすめしたい。

やっぱりCTFは楽しい。