#tkbctf3 Writeup
5/4 12:00 - 5/5 06:00 (JST) 開催の #tkbctf3 に参加してました。tkbctfは初めて……どころか、CTFに参加すること自体初めてなので、@shaman_univ と @sadi_gear と (めんどくさいチーム名で) チームを組んで以来 ksnctf でちょこちょこ練習してました。
昼間は所用で出かけていて、実際にコンテストページを開いたのが20時ぐらい、といった調子だったのですが、途中から @KOBA789 先生が参加してくれたことで一気に加速、最終的に1203pts.で7位になりました。
15-Puzzle (Misc 250)
ひと通り問題を見て(うへぇ……これトータル0点あるかも……)って思ったので、とりあえず15パズルを解くだけの全く頭を使わない問題を解くことにした。
はじめに拾ってきたソルバーが A* で探索するもので、遅すぎたので IDA* で探してくれるソルバーを見つけて、解かせた。
が、結局FLAGを得るまでに30分ぐらいかかってしまって非常につらかった……。どうせ大した数の問題は出てこないと踏んで、telnetと整形ツールとソルバーの間を全く自動化せずに、繰り返しコピペしたせいで数回入力ミスで死んでしまった。さらに、拾ってきたソルバーがクセモノで、手数が増えてくると15%ぐらいの確率(体感)で最短でない解を出してきてしまうので、そこでも何度か死んでしまった。最後の問題で死んでしまった時は泣きたくなった(自動化しろ)
最後の問題でWrong Answer.が返された時のスクショ
まあそんな感じ。つらかったけど実際は何もしてない。
miocat (Web 250)
tkbctf.com
, http://tkbctf.com
を渡した時に出てくる結果が全然違うぞウワーッって思ってたら、数十分前に参加した @KOBA789 がディレクトリトラバーサルができることを発見し、Miocat.exe を落としたりしてた。自分としては ls の結果が見たいなー、ということで http://../../ls|
とかを渡したりしてたけど、PerlでもRubyでも無いことを思い出し断念。
その後 @KOBA789 が .bash_history
を読めることに気づいて、「面白すぎる」とか言ってた、が、 /etc/passwd
を編集してるhistoryがあることには気づかなかったようで、そっちのほうが面白かった。
/etc/passwd
を覗くと
miocat:x:1001:1001:Miocat,,,Read /home/miocat/flag:/home/miocat:/bin/bash
という感じでいかにも /home/miocat/flag を見てくれ! という感じのアレがあったので http://../../../home/miocat/flag
を引っ張ってきておしまい。
それにしてもmiocat、何をするWebアプリケーションだったんだ……。
game (Binary 500)
クイズの方は Q. Appolo 11 landed in this site と Q. With much "Gravity", this young fellow of Trinity became the Lucasian Professor of Mathematics in 1669 はいろいろ試したが通らなかった。問題は quizXX (だっけ?) を相対パスで呼び出してるなー、というところまでは気づいたが、だからといって flag が読めるわけでもないし、できることはなかった。
まとめ
15-Puzzleは拾ったソルバーに手動で問題を食わせただけだし、miocatは人の成果に乗っかっただけなので人権がない。が、CTF初参加でも楽しめたし、いろんな問題を解ける能力がほしいのでがんばります。おしまい。