SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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しましょう
ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングjunk_coken
 
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編MCC CTF講習会 pwn編
MCC CTF講習会 pwn編hama7230
 
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)kazkiti
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT Akabane Hiroyuki
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回Tomoya Kawanishi
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについてmoai kids
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門masayoshi takahashi
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書くmametter
 
Pythonとパッケージングと私
Pythonとパッケージングと私Pythonとパッケージングと私
Pythonとパッケージングと私Atsushi Odagiri
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)Shota Shinogi
 
Adversarial Examples 分野の動向 (敵対的サンプル発表資料)
Adversarial Examples 分野の動向(敵対的サンプル発表資料)Adversarial Examples 分野の動向(敵対的サンプル発表資料)
Adversarial Examples 分野の動向 (敵対的サンプル発表資料)cvpaper. challenge
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Yuya Unno
 
型安全性入門
型安全性入門型安全性入門
型安全性入門Akinori Abe
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfesレベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfesTokoroten Nakayama
 

Was ist angesagt? (20)

ctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリングctfで学ぼうリバースエンジニアリング
ctfで学ぼうリバースエンジニアリング
 
MCC CTF講習会 pwn編
MCC CTF講習会 pwn編MCC CTF講習会 pwn編
MCC CTF講習会 pwn編
 
セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)セキュリティを楽しむ(CTFとbugbountyの始め方)
セキュリティを楽しむ(CTFとbugbountyの始め方)
 
まじめに!できる!LT
まじめに!できる!LT まじめに!できる!LT
まじめに!できる!LT
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回きつねさんでもわかるLlvm読書会 第2回
きつねさんでもわかるLlvm読書会 第2回
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
Twitterのsnowflakeについて
TwitterのsnowflakeについてTwitterのsnowflakeについて
Twitterのsnowflakeについて
 
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書く
 
Pythonとパッケージングと私
Pythonとパッケージングと私Pythonとパッケージングと私
Pythonとパッケージングと私
 
CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)CyberChefの使い方(HamaCTF2019 WriteUp編)
CyberChefの使い方(HamaCTF2019 WriteUp編)
 
Adversarial Examples 分野の動向 (敵対的サンプル発表資料)
Adversarial Examples 分野の動向(敵対的サンプル発表資料)Adversarial Examples 分野の動向(敵対的サンプル発表資料)
Adversarial Examples 分野の動向 (敵対的サンプル発表資料)
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
型安全性入門
型安全性入門型安全性入門
型安全性入門
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
女の子になれなかった人のために
女の子になれなかった人のために女の子になれなかった人のために
女の子になれなかった人のために
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfesレベルを上げて物理で殴れ、Fuzzing入門 #pyfes
レベルを上げて物理で殴れ、Fuzzing入門 #pyfes
 

Ähnlich wie CTF初心者🔰

ipu LT - Introduction of CTF
ipu LT - Introduction of CTFipu LT - Introduction of CTF
ipu LT - Introduction of CTFTsubasa Umeuchi
 
CTFに参加してきました。
CTFに参加してきました。CTFに参加してきました。
CTFに参加してきました。kuro kuro
 
coinsLT#0 tkbctf3 miocatができるまで
coinsLT#0 tkbctf3 miocatができるまでcoinsLT#0 tkbctf3 miocatができるまで
coinsLT#0 tkbctf3 miocatができるまでMei Akizuru
 
OSC Kyoto CTF Seminar
OSC Kyoto CTF SeminarOSC Kyoto CTF Seminar
OSC Kyoto CTF Seminarpinksawtooth
 
PHP初心者、がんばる。
PHP初心者、がんばる。PHP初心者、がんばる。
PHP初心者、がんばる。forisel
 
自作CTFについて考えてみる
自作CTFについて考えてみる自作CTFについて考えてみる
自作CTFについて考えてみるnomuken
 
CTFのはじめかた @ 2018年度技術系サークル合同新歓
CTFのはじめかた @ 2018年度技術系サークル合同新歓CTFのはじめかた @ 2018年度技術系サークル合同新歓
CTFのはじめかた @ 2018年度技術系サークル合同新歓uecmma
 

Ähnlich wie CTF初心者🔰 (9)

ipu LT - Introduction of CTF
ipu LT - Introduction of CTFipu LT - Introduction of CTF
ipu LT - Introduction of CTF
 
CTFに参加してきました。
CTFに参加してきました。CTFに参加してきました。
CTFに参加してきました。
 
CTFの布教
CTFの布教CTFの布教
CTFの布教
 
TRY CTF
TRY CTFTRY CTF
TRY CTF
 
coinsLT#0 tkbctf3 miocatができるまで
coinsLT#0 tkbctf3 miocatができるまでcoinsLT#0 tkbctf3 miocatができるまで
coinsLT#0 tkbctf3 miocatができるまで
 
OSC Kyoto CTF Seminar
OSC Kyoto CTF SeminarOSC Kyoto CTF Seminar
OSC Kyoto CTF Seminar
 
PHP初心者、がんばる。
PHP初心者、がんばる。PHP初心者、がんばる。
PHP初心者、がんばる。
 
自作CTFについて考えてみる
自作CTFについて考えてみる自作CTFについて考えてみる
自作CTFについて考えてみる
 
CTFのはじめかた @ 2018年度技術系サークル合同新歓
CTFのはじめかた @ 2018年度技術系サークル合同新歓CTFのはじめかた @ 2018年度技術系サークル合同新歓
CTFのはじめかた @ 2018年度技術系サークル合同新歓
 

Mehr von icchy

how to port * to BitVisor (2)
how to port * to BitVisor (2)how to port * to BitVisor (2)
how to port * to BitVisor (2)icchy
 
VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策
VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策
VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策icchy
 
how to port * to BitVisor
how to port * to BitVisorhow to port * to BitVisor
how to port * to BitVisoricchy
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)icchy
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門icchy
 
Format string Attack
Format string AttackFormat string Attack
Format string Attackicchy
 

Mehr von icchy (6)

how to port * to BitVisor (2)
how to port * to BitVisor (2)how to port * to BitVisor (2)
how to port * to BitVisor (2)
 
VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策
VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策
VMMを用いたタイミングベースサイドチャネル攻撃に対する緩和策
 
how to port * to BitVisor
how to port * to BitVisorhow to port * to BitVisor
how to port * to BitVisor
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
 
Format string Attack
Format string AttackFormat string Attack
Format string Attack
 

CTF初心者🔰