ふるつき2

裏ブログです。うそです

自分がインフラを触れないCTFに問題を提供するとき、できるだけサーバ不要で配布ファイルだけで完結する問題を作るようにしている。

サーバの面倒を自分で見れない・どういう仕組みかわからないというのは結構不安だし、なにか問題があった時に方針を他の人と相談しないといけないのが大変だからそうしている。

これは他のカテゴリの人や、同じカテゴリでもサーバを要する問題を作っているがちゃんとやっていることをサボっていて、なんなら自分がそういう問題を担当しないことで負担を押し付けている面もあると思う。

ちゃんとそのCTFにコントリビュートしようという気持ちになったらアプローチの仕方が変わるのかも

週末はInsomni'hack の問題を4時間くらい眺めていた。人々はMapna CTFというやつに出ていたっぽい? ので見誤った感はある。

なんとCryptoは一問だけだった。R1CSファイルが渡されるだけという問題で、 https://github.com/iden3/r1csfile で適当にパースしたら解けそうだったけど、なんかリポジトリに仕様とかも置いてあったのでKaitai Structでなんとかならないかと思ってksyファイル書いていた。

R1CSのバイナリフォーマットはheaderセクションとconstraintsセクションがあって、constraintsセクションをパースするにはheaderセクションの情報が必要だけど、各セクションの順番は不定なのでKaitai Structではきれいにパースできなかった。一旦header以外のセクションはパースしないことにして、パース後にセクションの中身を改めてパースするksyファイル2個方式でなんとかした。

みたいなことをやってパースはできたんだけど、出てきた式をこねくりまわしてもフラグっぽい値にならなくて解けなかった。なぜかというと値は \mathbb{F_p}上のやつじゃなくてなんか楕円曲線上の値? だったから……。そんなことは仕様には書いてなくて実装だけがそうなっていた。だるすぎる……

このR1CSのバイナリフォーマット、別に標準のそれとかじゃないっぽいけどこういうの出すんだな。私もなんか適当なフォーマット考えてリポジトリにおいておいて、急にCTFにだしたりしたろかな……

どうも、停滞太郎です。停滞しているから前も同じこと書いた気がするけど、CTFやるときに「勝ちたい」というモチベーションがあまりなくて、「面白い問題に出逢いたい」というモチベーションでやってる。

 

問題とその解法がわかればよいので、ちゃんと解くという気にならなくて勝てないし精進になってない。

 

なんならCTF終わった頃には喉元過ぎて解けなかった問題の解法への興味も失ってる。困ったね……

aventador.blog.jp

なんでこう思ったのか考えてみるが、次のような要因なのではないか。

  1. 複数のフェーズがある問題だが、全てを解ききらないと報酬が得られない
  2. それぞれのフェーズで、要素を組み合わせたり誘導を適切に拾うことでひらめきに到達できるパズル的な要素が薄い

つまりまったくCTF的ではない問題ということになる。だがこういうのはこういうので面白そうなんだよな。いわゆる謎解きみたいな感じなのだろうか

IrisCTF 2024

  • 2023年はCTFやらなさすぎてこのままだと口だけ人間になると思ったので、2024年はいろんなCTFに出るつもりでいる
  • 実際にどれだけできるかはわからないけど、年始くらいはと思ってIrisCTF2024に出てみた
  • なんか年始のCTFは詰まってなくて助かる
  • 簡単な問題解いてるだけで楽しいけど、衰えも感じる。mod pでのe乗の逆をpow(c, -e, p)とか書いていてもうだめ
  • 謎の完璧主義が発動して簡単な問題から順番にじゃないと解かない癖一生治らん

TSGCTF 2023

TSGCTF 2023は久しぶりに(連続ではないにせよ)はじめから終わりまで取り組んだCTFだった。一年以上ぶりくらいなのではないか。

開催の16時から取り組み始めて、Delta Forceに苦しめられ、22時くらいに一旦休憩と言ってスプラトゥーンを始めた。25時くらいに戻ってきて、6時くらいに寝た。 6時間くらい寝て、13時くらいに再度取り組んで、解けずにタイムアップ。結局このCTFはだいたいずっとDelta Forceと向き合っていたということになる(合間にeasyのcryptoを解いたり、#DANCEに「これはCryptoではないのですか?」といって手を出したりしていた)。

最後40分くらいはptr-yudaiと会話しながら進めたけど、拡大体にならmapできるんじゃないというアイデアをだしてもらったりして進捗があったので、もっと早くそうしていればよかったのかも。でもptr-yudaiも暇ではないですからね

時間をかけた問題はちゃんと最後まで解ききれるようになりたい。 しかしこれまでのCTFの経験からいうと、時間をかけている問題はだいたい解けない……。なぜなら不足している知識があるので

だからすべての問題をひと目見て既出ですねって言えるようにならないといけないが、既出の問題は解いても楽しくないがちなので、本当は初めて見た問題も解けるようになりたい……