煙と消えるその前に

一服してるうちに忘れる、自分のための備忘録。とかとか

SECCON 2014 オンライン予選(日本語)に参加してきた!

昨年に続き、今年も参加しました!
昨年同様 Route9というチームで、計6名で参加しました。

結果は16位!
昨年よりいい成績で終えることができました。

今年は12時間と比較的短い(?)時間で、前回より気軽に参加できてよかったかなーという感じ。

今回も私が解けた問題をつらつらと書きます。

ネットワーク100 このパケットを解析せよ

pcapファイルの中身はFTPでやりとりしているらしき通信。
サイズが小さいので上からだーっと眺めると、露骨にflag.txtをリクエストしてるパケットが目に入ります。

f:id:paty_fakename:20140719130414p:plain

その直後に中身を取っているので、そこの部分を抜き出すと以下の文字列が。

RkxBR3tGN1AgMTUgTjA3IDUzQ1VSM30=

decodeすればいいのかなと思って、とりあえずBase64でデコードしたらビンゴ

FLAG{F7P 15 N07 53CUR3}

暗号100 decode me

問題のファイルを見ると、こんな文字列が "ebg13/47"
そういや、以前参加したpythonの勉強会で、rot-13encodeされたpythonファイルにこんなのがあったなーと思い出し、rot-13でdecodeしてみる。

...ASCII部分は読めたけど、他はバケバケorz

チームメンバーに教えてもらったところ、rot-13/47という暗号方式(?)があるとのこと
早速調べてみると、nkfに実装が入ってるみたい。

てなわけでnkfでdecodeしてみると、答えが出ました。
(nkfはCentos6.4で実行したため、SJISが読めませんでした。decoded.txtをwin環境に持っていって確認)

nkf -r encoded.txt > decoded.txt

FLAG{Have fun SECCON2014}

フォレンジック100 879,394bytes

与えられたFilesystem001.binから879,394バイトのファイルの名前を探す問題。
調べたところ、Filesystem001はFAT形式のようでした。

ファイルサイズが書かれているので、879,394を16進に変換して"0d6b22"を探します。
・・・が見つからない。
FATの仕様を見たところ、リトルエンディアンでしたorz

気を取り直して、"226b0d"を探したところ、CHRYSA~1で拡張子がJPGなファイルがヒット。
~1ってなんだっけと思っていたら、ファイル名のショートネームとのこと。
長いファイル名は省略されてこの形になるので、すぐ近くに埋まってるChrysanthemumがファイル名と推測。

Chrysanthemum.jpgが答えでした。

Web 300点 箱庭XSSリターンズ (途中まで)

exeで起動させたアプリでXSSをする問題
複数問で構成されていて、問題を解くたびに使った文字列が制限されていきました。

以下のような感じで手を変え品を変え進めましたが、ボキャブラリー不足で力尽きましたorz
6問解いたところで途中点がもらえたのでそこで終了。

(表示を良しなにされてしまうので、記号を一部全角にしてます。書き方どうやるんだっけ...)
"onkeydown="&#0000097lert('&#0000088SS')
"onkeypress="&#000097lert('&#000088SS')
"onselect="&#00097lert('&#00088SS')
"onclick="&#0097lert('&#0088SS')
"ondblclick="&#097lert('&#088SS')
"onfocus="&#97lert('&#88SS')
"><script>alert('XSS')</script><"