Xiomara CTF 2018 Writeup
Xiomara CTF 2018に個人チーム0p3r4t0rとして参加し、151点を入れて147位でした。
Fri, 23 Feb. 2018, 17:00 UTC — Sat, 24 Feb. 2018, 17:00 UTC On-line A XiomaraCTF event. Format: Jeopardy Jeopardy Official URL: http://xiomara.xyz/
以下、Writeupです。
[Misc 1] Everyone is winner
IRCに接続すると、運営からのメッセージにフラグが入っていた。それを提出して終わり。 フラグは失念してしまった。
[Web 50] Flag Checker V1.0
JSFuckで難読化されたJavaScriptでフラグをチェックするというサイトが提示される。
Google Chromeのデベロッパーツールを使ってステップ実行を使いながら、フラグとダイアログの入力を比較する処理まで実行する。
比較処理の部分でフラグがそのまま見えるので、それを提出。
Flag:xiomara{0bfusc@tion_c@n_b3_e@sy_@s_j5fuck}
[Web 100] Flag Generator Software
「フラグを配信するけど、もう時間切れだ、ごめんよ(意訳)」的なサイトが提示される。
メールアドレスの入力フォームに関しては、ブラウザ側でのバリデーションがされているようだったが、サーバ側ではOSコマンドをそのまま使っており、OSコマンドインジェクションの脆弱性があることがわかった。
なので、Fiddlerを使ってブラウザ側の入力バリデーションを回避し、その上で;ls
のように;
と任意のコマンドを投げる。
遷移するページではコマンドの実行結果が示されているので、それを見ながらフラグを生成すると思わしき実行ファイルに対してstrings
コマンドでフラグの文字列を抜き出した。
Flag:xiomara{command_injections_are_bad}
反省
フラグや問題文を失念したり、そもそもの解法を忘れかけたり(思い出すのに時間がかかった)していた。 Web系の問題はCTFサーバがクローズすると使えなくなるのを前提にしないとあとでWriteupを書くのに苦労するので、 解法や実行イメージのスクショも含めて保存しながら競技を進めるべきだと感じた。
そして簡単な問題しか解けなかったので圧倒的成長したい。