CTF初心者🔰
12/25 year-end s hack day
@FMS
こんにちは
Who am I
自己紹介
• @icchyr
• 某濃厚な大学のB2
• CTF初心者
• tuat_mcc
本日はお招きいただき(?)
ありがとうございます
CTFやってる人∼?
SECCON
お疲れ様でした
BBQR…
The Golden Gate…
さておき
CTFとは何ぞや?
CTF
• Capture The Flag の略
• 問題に隠されたFlagを探し出す
• コンピュータ全般に関する知識を問われる
• セキュリティに関するものが多い
CTF
• Capture The Flag の略
• 問題に隠されたFlagを探し出す
• コンピュータ全般に関する知識を問われる
• セキュリティに関するものが多い
CTF
• Trivia
• Forensics
• Recon
• PPC
• Crypto
• Web
• Pwn
Trivia
• 単に知識を問う問題
• ググり力を試される
• ググりにくいものが出題されることもある
• 例) #!/bin/bash の#はなんと読むか?
Forensics
• Computer Forensicsの略
• データの中に隠されたフラグを見つける
• 犯罪の法的証拠を探し出す技術
• 例) 画像の中に隠された別のファイルを取り出す
Recon
• reconnaissanceの略
• 目標の調査能力を問う
• いわゆるネットストーキング能力
• 例) 作問者の中学時代の写真を探せ
PPC
• Professional Programming and Codingの略
• 素早く問題を理解して解くためのコードを書く
• 競技プログラミングに似ている
• 例) あみだくじを解け(画像)
Crypto
• 暗号に関する知識を問う
• 古典暗号が多い印象
• マイナーな暗号が出ることも
• 例) RSAで暗号化された文章を解読せよ
Web
• Webに関する知識を問う
• ほぼ何らかの脆弱性が絡んでいる
• SQL injection, XSSは外せない
• 例) adminのパスワードを入手せよ
Pwn
• ownが転じたスラング
• プログラムの脆弱性をついてflagを読む(shell奪取)
• サーバーで動いているバイナリが与えられる
• 例) nc pwnme.example.com 1337
対策
• CTFは時間が限られている
• 解けない問題は早急にあきらめることも肝心
• 大体の場合問題にヒントがある

→ 作問者の意図を読む
• いろんな脆弱性を知る
脆弱性
• 作成者が意図しない動作をさせられる原因
• SQL injection
• XSS
• Stack over flow
• など
SQL injection
• SQL文を組み立てるときに発生
• SELECT id FROM user 

WHERE name= $name and pass= $pass ;
• OR 1=1;̶ をpassに入れたらどうなるか?
• and pass= OR 1=1;̶ ; (̶以降は無視される)

→ 常にTRUE (passがわからなくても通る)
XSS
• HTMLを動的に生成する際に発生

→ 確認画面など
• <a href= <?php echo $_GET[ url ] ?> >link</a>
• <a href= ><script>alert(1);</script> >link</a>

→ alert(1);が実行される
• 第三者によって予期しないスクリプトを正規サイト
で実行させられる
Stack over flow
• 許容量を超える入力を受け取った際に発生

→ stackへあふれる
• 通常はSegmentation fault

→ スタックの中身を監視するcanaryが書き換えら
れることによって発生

(-fno-stack-protectorで無効化できる)
Stack over flow
• Stack over flowを利用してstack上にあるリター
ンアドレスを書き換える

→ 任意の場所へ制御を移すことができる
• 予めstack上に機械語のデータを配置しておき、

その先頭に制御がくるようにする
• shellを起動するような機械語を用意しておく
• マシンのshellを奪うことができる
脆弱性
• 本来の構造を破壊されることが原因
• 作成者の意図しないバグ

→ CTFは意図して作られたバグ
• CTFでは各コンポーネントへの深い理解も必要
CTF
• チーム戦がほとんど
• CTF TIME(http://ctftime.org)

→ CTF情報サイト 世界中のCTF情報が集まる
• 開催されるCTFの情報もここに載る
CTFやりたい!
• オンラインのCTFで練習
• ksnctf
• akictf, adctf
• npcactf
• など
たのしくCTFしましょう
ありがとうございました

CTF初心者🔰