この大会は2015/10/17 3:00(JST)~2015/10/18 15:00(JST)に開催されました。
今回も個人で参戦。結果は121点で160位でした。
参加チームは419チームいたようですが、もう少し解きたかった。
解けた問題を中心にWriteupとして書いておきます。
greetings (misc 1)
これは問題に書いてあるフラグを入れるだけ。
hackover15{ready2hack}
allyourbase (misc 20)
問題はこんな文字列。
SGVsbG8gbXkgZnJpZW5kLiBUaGlzIGlzIGJhc2U2NC4gQXgeW91IHNlZSwgaXQgaXMgYnJv a2VuLiDYW4geW91IHJlY292ZXIgdGhlIGZvbGxvd2luZBmbGFnOioYWNrb3ZlcjE1e21pc 2FsaWduZWRCaXRzQnJlYWtCYXNlNjR9
とりあえずBASE64デコードしてみる。
Hello my friend. This is base64. Ax[ンHルYK]\ネ悍レル[笈6薮R&V6?W"F?f?ニ?匁A匈?險ackover15{misalignedBitsBreakBase64}
読めない箇所があるが推測できる。
何か別のコードで変換すれば、読める文字になったのかな?
hackover15{misalignedBitsBreakBase64}
pinkie-pie (forensic 50)
一見ピンク一色のpng形式の画像ファイルが与えられている。
まず、Stegsolve.jarでポチポチっとビット演算の結果を表示させる。
hackover15{pInKie_pIe_LoVeS_pArTy}
hack-the-planet (web 50)
ログイン画面が表示されているが、SQLインジェクションでは解けなそう。
いろいろ試してみたが、BODYでなくHEADを使うというメッセージが表示されている。
あまり自分には知識がなかったが、「HEAD」命令というのがあるということがわかった。
そこで、Fiddlerで「HEAD」でログイン画面のURLにリクエストを投げる。
すると、レスポンスで以下のデータが返ってきた。
X-Hackers-Kate-Libby: make it my first-born!
これをヘッダに入れて、リクエストするが、うまくいかない。
どうするかいろいろ考えているうちに、これは有名なメッセージではないかとググってみたら、こんなやりとりがされているサイトがあった。
http://www.imdb.com/title/tt0113243/quotes
Dade Murphy: And if I win?
Kate Libby: Make it my first-born!
・・ということでリクエストヘッダに以下の情報を入れて、リクエストを投げてみる。
X-Hackers-Dade-Murphy: And if I win?
今度は、以下のデータが返ってきた。
X-Hackers-The-Five-Most-Used-Passwords-Are: password,secret,love,god,sex
やっと手がかりが出てきた。password,secret,love,god,sex をパスワード欄に入れてログインしたら、フラグが表示された。
hackover15{Thepoolontheroofnusthavealeak}
simplepassword (misc 100)
これは結局得点できなかったが、途中のステージまで解いたので、わかったところまで書いておく。
ステージタイプの問題で、最終ステージまで解かないと得点にならないものだった。
ステージ1
Challenge 0x00 -- "insecure" -------------- PASSWORD:
これで何を答えたらよいかわからなかったが、ふとよく使用されるパスワードかと思っていろいろ入れてみた。
最終的には http://www.imdb.com/title/tt0113243/quotes でアタリのパスワードを見つけた。
secret
ステージ2
Challenge 0x01 -- "ET TU BRVTE?" -------------- PASSWORD:
試しに love と入れたら、以下のように表示された。
>>>>>: mpwf access denied. Expected: Ubf5SppEpiWp
1文字シフトのシーザー暗号の問題だとわかったので、期待する文字列から元に戻す。
Tae4RooDohVo
ステージ3
Challenge 0x02 -- "All your base are belong to 0x" -------------- Hash: /x54/x68/x31/x73/x42/x65/x56/x65/x72/x72/x72/x79/x48/x34/x63/x6b/x79
これはASCIIコードとして文字に変換する。
Th1sBeVerrryH4cky
ステージ4
Challenge 0x03 -- "Numbers Again" -------------- Hash: 072 048 119 050 099 048 117 110 116 033 049 033 050 033 051 033 072 069 072 069
ステージ3と同様の問題。10進数でASCIIコードとして文字に変換する。
H0w2c0unt!1!2!3!HEHE
ステージ5
Challenge 0x04 -- "Turing Complete" -------------- -[------->+<]>-.--[-->+++<]>.[--->+<]>---.---[->++++<]>.------------.---.--[--->+<]>-.[-->+++++++<]>.[----->++<]>+.--[--->+<]>--..++++.--------.+++.--------------.-[--->+<]>-.-[--->++<]>-.++++++++++.+[---->+<]>+++.++[-->+++<]>.++++.[->++<]>-.++++++++.-------.-----------.+++++.+++.--.+++++.-[->+++++<]>..
これが分からなかった。モールス信号なのかとか、Turing Completeとかから調べてみたが、ダメだった。この解法を早く知りたい。