第2回 CTF for Beginners writeup

何解いたかよく覚えてないので覚えている範囲で

箱庭XSS 300pt

横浜大会の予選のWriteupをどっかで探して見て貰えばいいと思うけれども一応。
一問目はヒントにもある通りそのまま 二問目、属性値とか使えと言われたのでそのまま 三問目、「属性値のXSSイベントハンドラ、X=88(0x58)、S=83(0x53)」とヒントが与えられているにも関わらずバカなのでアホな解き方をした。 slice(8, 11)ってのは箱庭XSSのbody自体に含まれてる"XSS"という文字列を切り出してくるメソッド?で、切り出してきたXSSという文字列をalertに流し込んでやる。
なんとなく事前に配られていた箱庭XSSをやって遊んでいたときに考えたスクリプトで、どうしようもなくアホなんだけどなんだかんだ使い回しが効くので使ってみた。
少なくとも箱庭においてはsとか.が禁止されてなければ位置を調整するだけで使えるんじゃないかという気がする。

三問で箱庭はおしまいで、手を挙げたらお姉さんがフラグを教えてくれた。確か

xss_mofumofu

みたいな文字列だった気がする。

Run it! 200pt

ctf_bin5というファイルをとりあえずバイナリエディタに食わせてみたらMZだったのでOllyへ直行。
普通に起動してみるとすぐ終了してしまうプログラムなのでまぁ内容さえ見られれば楽勝かなという感じだった。
All referenced stringで検索した結果にブレークポイント仕掛けて実行したら既にInvalidな方に突入した後だった。

f:id:misodengaku:20140707012231p:plain

でも単純に文字列出すだけで特にしがらみもなさそうだったのでprintfをFLAGの方へのJMPへ書き換えて実行したら通った。

FLAG: Salamander

あ、危ないっ 1 100pt

BASIC認証でのやりとりが記録されたpcapを渡されるので読んで、pcap中に記録されてるサーバにアクセスして入手した認証情報を使用してログイン、という感じの典型的なアレ。
ただ、運営側が途中でアナウンスを入れた通りそのサーバ側が落ちていて(立ち上がってなかった?)、それまで絶対に解けない状態になっていた。
立ち上がったよーとのアナウンスを受けて即ログイン、難なくクリアとなった。

FLAG: Hello_basic_auth

まとめ

f:id:misodengaku:20140707013110p:plain

最終的に同率1位が3人の下で4位でした。後から見てみるとbinary100の1問目はただのdocxだったりして解ける問題があるのに見てなくて解けなかったみたいな問題があってつらかった。
久しぶりにCTFやったけどやっぱり面白いなと思いました。50分とか一瞬だった。
これからも初心者として精進していこうなという感じ