わふぅ。

わふです。

tkbctf4 参加記

概要

tkbctf4 にチーム 0x0 として参加していました。チームとしては 2541 ポイントを稼いで 1 位だったらしいです。わふれるかは600点をとって残りは superbacker 氏が 1 人で荒稼ぎしてました。

2 日目は用事があって出られなかったので 1 日目で出た問題のうち解けた 2 題だけいろいろ感想を……。

解けた問題

rcrypto

書いたコード

計算結果から flag を逆算せよという問題。式変形をしたあとに CPU で殴ると解けます。なぜか 200 だけどまぁ 100 相当なんじゃないですかね……。

high-low (1)

書いたコード

与えられた js コードの断片でぐぐるMental Mahjong の概要 とそれのもとになった Mental Poker の実装っぽいもの が引っかかる。原理自体はほとんど同じっぽい。たぶん next を呼んで送られてきたカードをこっちで自力で復号すればいいんだなぁと思う。

与えられた js コードを読んでると、明らかに怪しい部分 ( // have to be deleted とかいうコメントとか me['c_card'] = c_card なる不必要な代入とか) がある。不審に思いつつもソースを適当に読む。次にめくられるカードは暗号化された状態で c_card に代入されているけど me.key と room.key で復号したあと get_card に投げて完全に解読できるなぁと分かる。ブックマークレット書いて実行しておしまいだった。

400 にしては簡単すぎると思ったけどじつは room.key とかが存在するのは運営側の不備だったらしい……。不参加だった 2 日目に問題点が修正された high-low2 が出題されたらしく悲しみ。

Mental Poker については Qiitaにあるこの記事 も参考になるかな。問題関係なくこのアルゴリズム自体がけっこう興味を引く。