学習の栞

学びたいことと、学ぶべきことと、学べることの区別がついてない人間の進捗管理

ctf4b2016博多参加記

ctf4b2016博多参加記

ctf4b博多に参加してきましたので参加記を

私のctf経験について

今年4月にgoogle CTFに参加しました.google CTFに参加して0完の洗礼を浴びたCTF初心者です.

web講義

web問題についての講義でした.内容はXSSについて.この講義でgoogle CTFの一番簡単な問題がカバーできたのかなぁ...

web問題を解くためのツール類の紹介もあり,google CTFのときに「え??サーバに盗んだcookie送りつけるの??管理してるサーバとかないし無理じゃね???」と思った私にとっては嬉しい講義だった.

フォレンジックス講義

パッケットキャプチャしたファイルが与えられるから,そこからフラグを探し出してくださいという趣旨の問題群を解くための講義だった.

ツールの機能を活用していかに効率的にパケットを読んでいくか,また,集中して読むべきパケットがどれかという点に焦点を当てての講義だった.前後のパケットの内容から,いつフラグが通信されたかを推測する話や,使用されたプロトコルの統計情報から集中して読むべきパケットを絞り込むと良いらしい.

講義を受けて,プロトコルとその代表的な利用目的について勉強しておくと,通信内容について推測できるから良いのかなと思った.

バイナリ講義

アセンブルされたバイナリを読む講義だった.mipsなら3ヶ月ぐらい読んでいたことがあったが,x86は未知の世界.x86はディスティネーションレジスタが決め打ちされてる命令があったりとか,分岐の方法とか覚えるのがmipsと比べて辛い印象を持っている.

幸いにも今回の講義で読んだバイナリたちは素直なバイナリだったので,何がなんだかわからんということはなかった.

パタヘネ読んでたりとか,低級な部分を大学で研究してたりというバックグラウンドがあったせいだろうが,今回の講義の中では一番簡単な講義に感じた.

実際にプログラムを逆アセンブルして読もうとすると,どの処理を集中して読んだら良いかわからん.ということが起こりがちなので,読むべき部分の絞り込みとかの話がもう少し欲しかったかなぁ...

あとIDAすごい.ループの構造をグラフィカルに表示してくれる.あれいい.

練習コンテスト

f:id:konjo_p:20160718123928p:plain

コンテストについて

6位でした.やったね!講義でやったことをきっちりやれば解ける問題が出ていたので,練習コンテストとして良い問題セットだったと思う.

MISCと分類されていた問題

基本的にやるだけっぽかった.CountUpGameの必勝法は競技プログラミングのスキルがCTFに活きたなーと.

Webの問題

web100点は憶えてない.web200はダブルクォテーションと山括弧使っていけそうだったけど,うまくいかなかった.あれなんでだろうな.

フォレンジック
strings hoge.pcap | grep flag

すると良い感じにヒントが取れる.ので,あとはflag.txtだとかflag.pngだとかそれっぽいワードから何が行われているか推測したら200点問題が解けた.

バイナリの問題

100点しか解いてない.grepしたら取れた.

感想

CTF面白かったし,ctf4bも初心者(プロ)向けの話でなくきちんと初心者向けのイベントだったので良かった.ハラスメントが横行していない or 本当の初心者にはハラスメントしない 界隈は良い界隈です.ICPC引退まではCTFにがっつり時間をというわけにもいかないので,10月のICPC引退後には競技プログラミングに割いていた時間を少しばかりCTFに割いてみようかなあ.

最後にctf4bの講師,参加者の皆様ありがとうございました.