tductf
TRANSCRIPT
TDU CTFHashTag - #tductf
会場使用上の注意
● 指定された席付近にお座りください →強制はしません : )
● 席に備え付けのLANソケットには接続しないでください!→お近くのハブにLANケーブルを接続してください
→外部への接続は無線LANを利用してください● 飲食厳禁です!● LANケーブル等を借りたい方はスタッフにお声がけを
→受付に行けば確実なスタッフに声をかけられます
TDU CTFHashTag - #tductf
TDU CTF(の基調講演的なもの)@nomuken (CAFEBABE)
TDU CTFHashTag - #tductf
Agenda
1. 会場使用上の注意 - 情報メディア学科 学生職員
2. 挨拶的なものとネットワークの確認
3. 統計の紹介
4. 競技の流れ
5. 運営による直前叩き込みLT会
6. 競技場の注意
7. CTF
TDU CTFHashTag - #tductf
会場使用上の注意 情報メディア学科 学生職員
TDU CTFHashTag - #tductf
禁止事項
● 飲食厳禁です!
● ゲームなどの娯楽は禁止です!……→時間が余った方はラウンジでゲームを
● 機材の破壊は禁止です!
TDU CTFHashTag - #tductf
_人人人人人人_> これだけ < ̄Y^Y^Y^Y^Y ̄
TDU CTFHashTag - #tductf
挨拶的なものとネットワークの確認
TDU CTFHashTag - #tductf
……ひとまず ようこそ!
● 本日はご参加いただき非常に感謝です!→ぜひとも,楽しんでいただければと思います
● 運営は徹夜明けです
TDU CTFHashTag - #tductf
ネットワークに接続
● 最も近いハブにLANケーブルで接続してください→多少は人が通行できるようにおねがいします
● 長さが奇しくも足りない方はなんとか無線LANを用意しました
SSID : TDUCTF_kotoriPass : kotorichunchun(接続数は限られているので有線利用にご協力ください)
TDU CTFHashTag - #tductf
IPアドレスを確認
● Windows
– cmdで「ipconfig /all」● Mac
– terminalで「ifconfig」● Linux
– terminalで「ip addr show」
● IPアドレスが「10.0.39.101~254」であればOK
TDU CTFHashTag - #tductf
ここまででトラブルはありますか?
● ダメな場合スタッフがお手伝いします→ダメだったらごめんなさい
TDU CTFHashTag - #tductf
統計の紹介
TDU CTFHashTag - #tductf
……の前に,参加者使用OSの統計
OSX Windows Linux0
2
4
6
8
10
12
14
16
18
20
TDU CTFHashTag - #tductf
所感
● やっぱWindowsですよね→推奨がそうですし
TDU CTFHashTag - #tductf
使用言語
Java Python Ruby C C++ C# Haskell Clojure0
2
4
6
8
10
12
人数
TDU CTFHashTag - #tductf
所感
● 大学全体的にJavaメインが影響か?→もちろんJavaも今回のCTF では強力なツールになりえます : )
● Ruby,PythonなどのLightweighなのも多い→もちろん(ry
TDU CTFHashTag - #tductf
競技の流れ
TDU CTFHashTag - #tductf
スコアサーバによる回答
● サーバー「score.java」から回答
● デモ
TDU CTFHashTag - #tductf
流れのまとめ
1. スコアサーバーにログイン(サインアップ)
2. 問題を見る
3. 問題を解く
4. 「 TDU{}」の形のflagを見つけ,問題ページのフォームに回答
5. 点数がもらえる
TDU CTFHashTag - #tductf
運営による直前詰め込みLT
TDU CTFHashTag - #tductf
楽しいSQLi@nomuken
TDU CTFHashTag - #tductf
Who am I
● 13なCにいる「JavaにNo bot」→最近不用意に使う人が増えてきて遠慮している
● コンピュータ初心者→コンピュータ上級者の皆様怖い><
● 技術力は無い
● Twitterは@nomuken
TDU CTFHashTag - #tductf
SQLi ……とは
● SQLというデータにアクセスする命令の抜け穴を狙った攻撃
→特殊な意味を持つ文字を送りつけて誤動作を狙う
● 読み方は「えすきゅーえるいんじぇくしょん」
TDU CTFHashTag - #tductf
じゃあSQLとは?
● プログラム中で使える表計算ソフトみたいな感じ
● イメージとしては以下のような表をプログラム中からデータのやり取りをできるようにした感じ
id 名前1 13aa012 Miku
2 12bb013 Rin
3 11cc014 Len
TDU CTFHashTag - #tductf
SQLとは?
● 例えばデータは以下のような命令を使って呼び出すselect * from users;→これはusersというテーブルのデータを取り出す命令
● もしid=13aa012のデータが欲しい場合以下のようにwhereを追加することにより取り出せるselect * from users where id='13aa012';
→これであればidが13aa012のみのデータしか返ってこない
TDU CTFHashTag - #tductf
例えば,検索システムを実装する
● 言語はどうであれSQLを使って検索システムを作ったとしましょう.
● 「where id='(ユーザーの入力)'」みたいなものを自動的に生成して逐一実行すれば望む結果を得られる
TDU CTFHashTag - #tductf
……つまり
● こんなプログラムsql=”select * from users where id='”+input+”';”;
result=sql_query(sql);
print(result);
● このように実行すればデータを得られる!
TDU CTFHashTag - #tductf
……はずだった
● でもこんな入力があったらどうする?
「' or 1=1;--」
select * from users where id='' or 1=1;--';
→1=1は常に真なので,どの文章も引っかかる
→「--」はコメントを表す,つまりその後の文を無効化する
TDU CTFHashTag - #tductf
……これがユーザ認証だったら
● IDとパスワードで検索して,結果が返ってくればログイン成功とするような設計select * from users where id='<入力>' and password='<入力>';
● IDの欄に「root';--」と入れれば検索に必ず引っかかるしパスワードいらないですよね.
select * from users where id='root';--' and password='';
TDU CTFHashTag - #tductf
これで不正アクセスが成功
● 正しい設計をするなら,こういう文字列はエスケープするはず「'」→「\'」
● しかし,何も知らない人が作って本当にこの欠陥が発生することがある.
● 今日はこんな感じの問題を用意してるので体験していただければと思います.
TDU CTFHashTag - #tductf
SQLiの狙い方
● どのSQLを使っているかでどの文字列投げれば良いのか結構変わる.
mysqlでのコメントを表す文字
「#」,「--」,「/* 〜 */」sqliteでのコメントを表す文字
「--」,「/* 〜 */」
→まだあるけど割愛
TDU CTFHashTag - #tductf
見極め方
● さっきの例を使うなら「#」を入れてどのように動作するか見ると良いかもです.
TDU CTFHashTag - #tductf
終わり
● ……もっと話すといろいろあるのですがこの辺で終わりにしたいと思いまする
TDU CTFHashTag - #tductf
競技場の注意
TDU CTFHashTag - #tductf
競技にあたって
● スコアサーバー等へのブルートフォースアタックは禁止→問題等で許可されていたらOKです
● 他の参加者と相談は禁止→つまらなくなっちゃいますよね?
→運営にはじゃんじゃん質問しまくっていいです : )
TDU CTFHashTag - #tductf
競技にあたって
● 不用意な通信に注意→CTFで使用しているソフト(特にWireShark)などは終了してから大学のネットにつなごう
● 参加者への攻撃は厳禁→物理もダメ
● スコアサーバーに攻撃は絶対禁止
→それは本質じゃない
TDU CTFHashTag - #tductf
競技にあたって
● 問題が難しすぎる?→運営にヒントを求めてください
● 精神的にズタボロ?→がんばれ♡がんばれ♡
TDU CTFHashTag - #tductf
Any question....
● スコアサーバー→http://score.java/
● WiFiの情報
→SSID:TDUCTF_kotori Pass:kotorichunchun
● 問題のオープンとクローズ
→14:00 ~18:00