CSAW CTF 2013 Qualification Round に挑戦しました.僕が解いた問題は Web 100 と Miscellaneous 全問です.それぞれの write up を書きます.
Guess Harder – Web 100
http://128.238.66.215
無駄に悩んでしまいましたがそんなに難しくないです. HTTP のやりとりをみると admin=false というクッキーがセットされていたので, admin=true に変えて送るとキーが出ます.
key : told_ya_you_wouldnt_guess_it
Networking 1 – Miscellaneous 50
networking.pcap
何の変哲もない Telnet の通信です. Telnet のパスワードのところにキーがありました.
Key : d316759c281bf925d600be698a4973d5
Networking 2 – Miscellaneous 50
networking.pcap
networking.pcap.process
よくわからないですけど, .process の方にあったキーが正しかった( .pcap の方は Networking 1 と同じファイルなので)です.
Key : f9b43c9e9c05be5e08ea163007af5144
Black & White – Miscellaneous 100
chal.png
一見同じ色に見える画像ですが,微妙に色がずらしてあってキーの文字列が浮かび上がります.
Key : forensics_is_fun
deeeeeeaaaaaadbeeeeeeeeeef – Miscellaneous 200
IMG_0707.png
これはかなり苦戦しました.ステガノグラフィかなと思ったのですが,ヘッダの画像サイズを変更してあって見えなくなってるだけでした. gimp で開けなかったのはチェックサムを厳密に調べてるからでしょうか.ヒントが出てその画像サイズに合わせたらチェックサムが一致し,キーを見ることが出来ました.
Key : TheISISPasswordIs
Life – Miscellaneous 300
nc 128.238.66.216 45678
このコマンドを実行すると ##### Round 1: 54 Generations ##### とかいう文字列と,何かの盤面らしき文字列が送られてきたので,問題名からライフゲームと判断.最初は何をかえせばいいのかわからず,何も返さないと Too Slow と言われました.試行錯誤の結果, ** Generations の ** の数字世代分ゲームを進めて返せばいいことが判明. Round 100 まで終わるとキーが手に入ります.ちなみに私は Python で解答プログラムを書きました.
Key : that comp sci assignment was useful after all