URL: https://score.beginners.seccon.jp/
今回 CTF 初挑戦だったので、やってたこと、考えてたことなどを雑にメモっていく場所。
マジで何もわかっていないで書いてるので、(これを見てしまった人向けに)正解にたどり着きたい人、参考情報を得たい人が見るような「資料」じゃないことを予め断っておく。
自分が何考えてたのかをある程度 dump したものであって、バックグラウンドを理解して書いてるものではない。
2023/06/03(土) 14:00 JST - 2023/06/04(日) 14:00 JST
Jeopardy形式
- 得点はチーム毎に集計します。集計にはダイナミックスコアリング方式(多くのチームが解いた問題ほど点数が低くなるような方式)を用います。
- 原則競技中には問題の追加を行いません。問題の設定ミスなどが発覚した場合には、例外的に修正版の問題が公開される場合があります。
- フラグのフォーマットは ctf4b{[\x20-\x7e]+} です。これと異なる形式を取る問題に関しては、別途問題文等でその旨を明示します。
- 誤った解答を短時間の内に何度も送信した場合は、当該チームからの回答を一定時間受け付けない状態(ロック状態)になる場合があります。またこの状態でさらに不正解を送信し続けた場合はロックされる時間がさらに延長される可能性があります。
- 他チームへの妨害行為
- 他チームの回答などをのぞき見する行為
- 他者への攻撃的な発言 (暴言 / 誹謗中傷 / 侮辱 / 脅迫 / ハラスメント行為など)
- 自チームのチーム登録者以外に問題・ヒント・解答を教えること
- 自チームのチーム登録者以外からヒント・解答を得ること(ただし運営者が全員に与えるものを除く)
- 設問によって攻撃が許可されているサーバ、ネットワーク以外への攻撃
- 競技ネットワーク・サーバなどの負荷を過度に高める行為(リモートから総当たりをしないと解けない問題はありません!)
- その他、運営を阻害する行為
不正行為が発見された場合、運営側の裁量によって減点・失格などのペナルティがチームに対して課せられます。大会後に発覚した場合も同様とします。
- 出題内容や開催中のアナウンスは原則日本語としますが、問題中で英語が用いられる場合があります。
- チーム人数に制限はありません。お一人でも、数十人でも、お好きな人数でチームを作成していただいて構いません。
- 本大会では上位チームへの賞金・賞状の授与等は行いません。
- SECCON CTF への出場権とは一切の関係がありませんので、ご注意ください。
ChatGPT さんに直してもらった。
以下のルールは、正しい記述ですか?
回答:
このルール自体は構文的には正しく、特定の正規表現パターンを探すYARAルールとして機能します。しかしながら、正規表現に小さな問題があります。
ここで指定されている正規表現 /ctf4b{[0x21-0x7e\s]+}/ は、ctf4b{} の中に ASCII コードの範囲 0x21("!")から 0x7E("~")またはスペース文字(\s)が1回以上繰り返される文字列を探します。これは、ASCIIの印字可能な文字(スペース含む)をマッチすることを意図していると思われます。
しかしながら、正規表現での文字クラス([] 内の範囲)においては、16進数表記(0x21 や 0x7e)は使えません。印字可能な ASCII 文字の範囲は [\x20-\x7E] のように表現されます。したがって、このルールを意図通りに動作させるためには、正規表現を次のように修正すべきです:
この修正後のルールは、印字可能なASCII文字(スペース含む)が1つ以上続く ctf4b{} 形式の文字列を検出します。
これで引っかかりはする模様