Suche senden
Hochladen
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
•
Als ODP, PDF herunterladen
•
5 gefällt mir
•
2,567 views
nomuken
Folgen
スコアサーバーを題材にひとまず脆弱性の説明をしたスライド.
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 50
Jetzt herunterladen
Empfohlen
メインスライド
メインスライド
nomuken
mlabCTFの話
mlabCTFの話
nomuken
Rnncamp2handout
Rnncamp2handout
Shin Asakawa
Can A Python Go Beyond The Python
Can A Python Go Beyond The Python
Yusuke Muraoka
PHP初心者、がんばる。
PHP初心者、がんばる。
forisel
import dpkt したよ #ssmjp 2014/02/28
import dpkt したよ #ssmjp 2014/02/28
th0x0472
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
parrotstudio
Empfohlen
メインスライド
メインスライド
nomuken
mlabCTFの話
mlabCTFの話
nomuken
Rnncamp2handout
Rnncamp2handout
Shin Asakawa
Can A Python Go Beyond The Python
Can A Python Go Beyond The Python
Yusuke Muraoka
PHP初心者、がんばる。
PHP初心者、がんばる。
forisel
import dpkt したよ #ssmjp 2014/02/28
import dpkt したよ #ssmjp 2014/02/28
th0x0472
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
(^-^) togakushi
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
ネタプログラミング言語クリエイターYouma (Gunma.web #8 2012/03/03)
parrotstudio
25th nov2014 52thhtml5j
25th nov2014 52thhtml5j
Kensaku Komatsu
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumilab
20140903groonga発表資料
20140903groonga発表資料
Hironobu Saitoh
雰囲気実装を少し抜け出そう!RFCからPHPの実装ま でを考えるタイムゾーンとサマータイム!!!
雰囲気実装を少し抜け出そう!RFCからPHPの実装ま でを考えるタイムゾーンとサマータイム!!!
Suguru Ohki
StreamingAPIを使用したTwitter Bot @waketi の紹介
StreamingAPIを使用したTwitter Bot @waketi の紹介
kaiba d
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
mganeko
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
Kensaku Komatsu
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
Katsuhiro Endo
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
さくらインターネット株式会社
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
Kaoru NAKAMURA
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Masahito Zembutsu
Flutterを体験してみませんか
Flutterを体験してみませんか
cch-robo
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
Yutaka Tsumori
20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slideshare
sinsoku listy
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
Hiro H.
CTFトラックの報告的なもの(公開版)
CTFトラックの報告的なもの(公開版)
nomuken
Dendai is Secure?
Dendai is Secure?
nomuken
Weitere ähnliche Inhalte
Ähnlich wie スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
25th nov2014 52thhtml5j
25th nov2014 52thhtml5j
Kensaku Komatsu
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
Masahiro NAKAYAMA
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
Uehara Junji
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumilab
20140903groonga発表資料
20140903groonga発表資料
Hironobu Saitoh
雰囲気実装を少し抜け出そう!RFCからPHPの実装ま でを考えるタイムゾーンとサマータイム!!!
雰囲気実装を少し抜け出そう!RFCからPHPの実装ま でを考えるタイムゾーンとサマータイム!!!
Suguru Ohki
StreamingAPIを使用したTwitter Bot @waketi の紹介
StreamingAPIを使用したTwitter Bot @waketi の紹介
kaiba d
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
mganeko
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
kimukou_26 Kimukou
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
Kensaku Komatsu
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
Katsuhiro Endo
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
Yusuke Naka
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
さくらインターネット株式会社
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
Kaoru NAKAMURA
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Masahito Zembutsu
Flutterを体験してみませんか
Flutterを体験してみませんか
cch-robo
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
Yutaka Tsumori
20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slideshare
sinsoku listy
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
Hiro H.
Ähnlich wie スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
(20)
25th nov2014 52thhtml5j
25th nov2014 52thhtml5j
クラウドではじめるリアルタイムデータ分析 #seccamp
クラウドではじめるリアルタイムデータ分析 #seccamp
Introduce Groovy 2.3 trait
Introduce Groovy 2.3 trait
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
gumiStudy#5 JavaScript でネイティブiPhone/Androidアプリを作る
20140903groonga発表資料
20140903groonga発表資料
雰囲気実装を少し抜け出そう!RFCからPHPの実装ま でを考えるタイムゾーンとサマータイム!!!
雰囲気実装を少し抜け出そう!RFCからPHPの実装ま でを考えるタイムゾーンとサマータイム!!!
StreamingAPIを使用したTwitter Bot @waketi の紹介
StreamingAPIを使用したTwitter Bot @waketi の紹介
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
Twitter sphere of #twitter4j #twtr_hack
Twitter sphere of #twitter4j #twtr_hack
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
MTDDC Hokkaido : テンプレートタグでBrainf*ckを作ってみた
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
eBPFを用いたトレーシングについて
eBPFを用いたトレーシングについて
Osc2010 tokyo fall@kaorun
Osc2010 tokyo fall@kaorun
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Serf2Excel - Serf を実運用に活かす話 + Consul もあるよ
Flutterを体験してみませんか
Flutterを体験してみませんか
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
20101001 5分でわかるtrac pluginの作り方_slideshare
20101001 5分でわかるtrac pluginの作り方_slideshare
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
C++のSTLのコンテナ型を概観する @ Ohotech 特盛 #10(2014.8.30)
Mehr von nomuken
CTFトラックの報告的なもの(公開版)
CTFトラックの報告的なもの(公開版)
nomuken
Dendai is Secure?
Dendai is Secure?
nomuken
TDU CTFのお話
TDU CTFのお話
nomuken
Tductf
Tductf
nomuken
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
自作CTFについて考えてみる
自作CTFについて考えてみる
nomuken
Mehr von nomuken
(6)
CTFトラックの報告的なもの(公開版)
CTFトラックの報告的なもの(公開版)
Dendai is Secure?
Dendai is Secure?
TDU CTFのお話
TDU CTFのお話
Tductf
Tductf
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
自作CTFについて考えてみる
自作CTFについて考えてみる
Kürzlich hochgeladen
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Kürzlich hochgeladen
(9)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
スコアサーバーに起きた脆弱性で学ぶWebセキュリティ
1.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 練習問題のScoreServerで学ぶ ウェブセキュリティ @nomuken
2.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf Agenda(このスライドの) 1. 自己紹介 2. 楽しいインターネット 3. Webの脆弱性のお話 4. 練習問題の答え合わせ
3.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 1.自己紹介
4.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 自己紹介 ● Nomuken (@nomuken) ● ArchLinuxとごちうさと初音ミクが好き ● CTFとか面白いけどマジわからない系男子 ● 調子乗ってmlabCTFやったらTDUCTFの主催になっていた ● 大学2年生 (あと3日で3年生) ● 好きな脆弱性はディレクトリトラバーサルとOSコマンドイン ジェクション
5.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 2.楽しいインターネット
6.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 楽しいインターネット
7.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 楽しいインターネット ● 練習問題を公開して沢山のアクセスが来ました ● GEKI-YABA
8.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 来訪者の皆様 ● ShellShock ● 機械的なアクセス
9.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 来訪者の皆様 ● 何らかのペネトレーションツール(と思われる物)の利用
10.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 来訪者の皆様 ● SQLi勢(とXSS勢)
11.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 来訪者の皆様 ● alert勢
12.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 来訪者の皆様 ● CSRF勢
13.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 来訪者の皆様 ● admin勢
14.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf _人人人人人人人人人人人人人_ > 後半,同じ人じゃねぇか <  ̄Y Y Y Y Y Y Y Y Y Y Y Y Y^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ̄
15.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 感想 ● …… ……あぁ 狙われているなぁ ● 攻撃成立しちゃってんじゃねぇか,やだー
16.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 極めつけ ● "GET /question/?%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E9%96%8B %E5%82%AC%E3%80%81%E3%81%8A%E5%BE %85%E3%81%A1%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%81%BE %E3%81%99%E2%98%86%EF%BC%88%E3%82%9D%CF%89%E3%83%BB%EF %BC%89v HTTP/1.1"
17.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……つまり ● 「リモート開催、お待ちしております☆(ゝω・)v」 ● 結構スマートかつさり気なくてカッコいい ● ……もしかして?
18.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 余談 ● 載せてるとキリがない量で攻撃がありました
19.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……というわけで ● スコアサーバーのWebっぽい脆弱性からXSSとSQLiについて話 します ● やぎはしゅ先生によるXSSとSQLiの話はCTF4bで聞こう!
20.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 3.Webの脆弱性のお話
21.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……の前に ● 攻撃者は何がしたい? ● 例えば,先ほど見せた攻撃は何のためにする?
22.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 攻撃者の目的(Web関連において) ● サーバーを奪取する →自分の操作を増幅してくれるbotにしたい,bitcoinマイニングに使 ……いたい ● 情報を奪いたい ……→クレジットカード番号,個人情報,パスワード ● 実力誇示 →これをする実力があると見せつける(過激派組織に多い?)
23.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……目的を達成するために ● ” ”ご存知の通り, 作者の粗 を探し,そこを踏み台にする. →その粗が「XSS」だったり「SQLi ……」だったり ● その粗こそ脆弱性
24.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf XSS
25.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf XSS(クロスサイトスクリプティング) ● javascriptでよしなにする ● 解説はどう考えたってxss.moeな人がやるべきかもしれない
26.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf どういったものか ● ウェブページ内で好きなjavascriptが実行できる. →つまりブラウザでできることは大抵できる ● 目的としては,ページの書き換え,Cookieを盗んだり等
27.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……ところで ● これ好きな人いますか?(例をphpで書きます)
28.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf _人人人人人人人人_ > 目を背けない <  ̄Y^Y^Y^Y^Y^Y^Y ̄
29.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf phpのコード (略) <body> <h1>xss</h1> <hr> <form method="get"> <input type="text" name="s" value="<?php echo $_GET["s"];?>"> <button type="submit">Go</button> </form> </body> (略)
30.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……つまり ● GETで与えられたパラメータ(?s=hoge)をvalueに表示するプ ログラム. →検索機能とかがあるけれどサイトでよくある ● 適切にエスケープされてないがためにhtmlコードを渡すことが できる →javascriptを埋め込める
31.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf こんな値で送信する ● 「” autofocus onfocus=”alert('yagihashoo');」 →送信してページを開いた瞬間にXSSと表示される
32.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf Demo
33.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 原理 ● <input type="text" name="s" value=" $_GET['s'] ">に注目 ● 先ほどの入力を含めると <input (略)value="" autofocus onfocus="alert('yagihashoo');">
34.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 出来上がったものを考える ● valueの中身は今のところ興味ないのでひとまず終了("を入れ る)する ● autofocusでロードするとすぐに選択されるようになっている ● イベントハンドラのonfocusで,対象のフォームが選択された 時,任意のjavascriptを実行する
35.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……結果的に ● ページ開いた瞬間にjavascript実行できちゃいますね ● ちなみに,単純にscriptタグを埋め込むことも出来ます. → "><script>alert('yagihashoo');</script><!--
36.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 原因 ● 文字のエスケープ漏れによって発生します. →適切にエスケープをしましょう →でも,オレオレなエスケープ関数は作らないこと.漏れが あったらどうする?
37.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……攻撃者的には ● フォームに「特別な意味を持つ文字」を送信して表示された結 果からどのような文字を入れるべきかを考えます. 平均的な一般(?)攻撃者 " ' >< & ... ' " > < &
38.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf まとめ ● XSSとはページにjavascriptを埋め込めてしまう脆弱性 ● 原因はユーザの入力文字列をエスケープできていないこと ● そもそもあるライブラリもしくは,フレームワークを利用して 安全にエスケープしていきましょう ● ユーザーはほぼ全員が敵と考えるほうが無難か?
39.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf SQLi
40.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf SQLi(SQLインジェクション) ● データベースを扱うSQLに起因する脆弱性です. ● xss.moeなh(ry
41.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf どういったものか ● 存在するSQL文を全く別の意味に変え,想定するものとは別の 操作を出来てしまう脆弱性 ● 目的としては,脆弱なWebアプリからユーザとパスワードを盗 ……む,認証を通過する 等
42.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf phpのコード $sql = "SELECT * FROM users WHERE id='".$_GET['s']."';"; $stmt = $pdo->query($sql); foreach( $r as $stmt){ $article['title'] = $s['title'] ... }
43.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……つまり ● 一応記事を検索するプログラムのつもり.タイトルからキー ワードが含まれる記事を探してきて表示をする. ● 適切にエスケープがされていないため,SQL文を改変すること ができる.
44.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf こんな値を送信する ● 「' union all select 1,sql,1 from sqlite_master;--」 →データベース内に登録されている全てが表示された後,sql文 が表示される. ● なお,ここではsqliteを想定します
45.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf Demo
46.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 何が起きた? ● クエリに注目 SELECT * FROM users WHERE id='' union all select 1,sql,1 from sqlite_master;--'; ● 任意のテーブルからデータを取り出せた!
47.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 解説 ● 「' 」でidに対する検索文字列を終了する ● 「union all select 」でテーブルの連結を行う →他のテーブルから値を取り出し連結する ● 「1,sql,1」で1という値とsqlカラムの内容を取り出す →ちなみに,3つカラムを指定しているのは,そもそものusersと数を合わせ ているため ● 「from sqlite_master;--」でsqliteの各種データを持つテーブルにアクセス
48.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 原因 ● XSSと同様で文字列に対して適切にエスケープされていない →なお,XSSへのエスケープとSQLへのエスケープは全く違う
49.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf 対策 ● 適切なエスケープを行いましょう →SQLを書かなくても扱えるようなものを利用すると良いです →でなくても,プリペアードステートメントの利用を! →オレオレエスケープは絶対にダメ! ● SQL文を覚えることも大切です →攻撃が分かれば対策も取れるはず
50.
TDU CTF 2014
Satellite in ConoHa HashTag - #tductf ……攻撃者としては ● SQLにとって特別な文字を入力しその反応を見るのが良いです →多くの場合「'」や「"」 ……でエラーが出る はず. ● どのデータベースを利用しているか調べるのも重要です →コメント文字の扱いを見るのも良いです. sqliite → 「#」はコメントにならない(エラーにならない) mysql → 「#」はコメントになる(エラーになる)
Jetzt herunterladen