SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
CGIに潜むセキュリティーホール



                   ID: @kanayannet




2010年8月21日土曜日
こんなCGI達を配布しています




2010年8月21日土曜日
今回は WEB QUIZ version 1.5 のお話




2010年8月21日土曜日
version 1 シリーズの経緯
                - 自分がまだ、接客業時代に作成開始。


                - プロとして経験がなかったので、かなりヘッポコ(?)コード


                - C言語で言うと。。main(){。。。。} 以上終了状態
                (関数で細かく分かれていない。)


                - 当然、関数毎に細かくテストコード書くなんてのもやっていない。


                - 動いて使ってもらえれば万歳。


                - 当時の自分の身の回り(従業員)にアタックをする「悪い子
                (!?)」はいなかった。




2010年8月21日土曜日
悪い子 どうしよう(汗)




                ※注意:ナマハゲは使えません(汗)


2010年8月21日土曜日
大抵のWEBアプリは 表示 → ソース
                でHTMLを解析できる。




                という事は。。「どこをどう偽造すれば次どうなるか?」
                予想できる




2010年8月21日土曜日
実際にソースを見ながら操作してみます。




2010年8月21日土曜日
「○○秒→1秒になるかな∼∼?」




2010年8月21日土曜日
「偽装できましたね。」




2010年8月21日土曜日
という事で。。。。




                ver 1.x シリーズ終了のお知らせ




2010年8月21日土曜日
ver 2.0 はこうしました。
     - 偽装されてはいけない情報は「サーバの中で保存」
       - クイズ開始の時間
       - ユーザID
       - 何問正解したか?
       - 何問まで進んだか?
     - 解析しずらくしてしまおう
       - HTMLに出力するのは最低限
       - Ajax 使ってしまおう
       - Prototype.js を使いました。
       (Jquery でも十分いけます。)
       - 結果として、UIも使い勝手が良くなります。
2010年8月21日土曜日
ここで注意!
            「Ajax だけで十分じゃね?」
              -「HTTP」の通信を解析されるとバレます。
              - 当然 Cookie もばれます。
              - FireFox Live HTTP Header など




2010年8月21日土曜日
そんな HTML 隠すだけなど!!




                  貧弱、貧弱∼∼∼!!


2010年8月21日土曜日
認証データ
  コントローラ
                                  1タイムパス(ユーザID)
  HTTP引数をモデルやViewに渡す
                                  正解数
                                  何問まで回答したか
                                  回答開始時間


 モデル
 データファイルの
                       クイズ実行処理   クイズ問題データ
 read/write




                                 ランキングデータ
  View
                                  解答時間
   HTML出力
                                  ユーザ名




2010年8月21日土曜日
何故、MVCかって??




                「坊や。。もとい、リファクタが楽
                だからさ」

2010年8月21日土曜日
単体テストに便利なツールありますねw
            - Ruby: Rspec
            - Perl: Test::Simple
            - PHP: PHPUnit , SimpleTest
      私的感想:
      これら自体は動作保証を目的とするものでは
      ないが。。。結果として、バグの早期発見、早
      期リファクタに繋がり動作保証に持って行きや
      すさを秘めている思う。
      (全部ベタ書きでは、こうはいかない。)

2010年8月21日土曜日
完成品お披露目




2010年8月21日土曜日
ご清聴、ありがとうございました




2010年8月21日土曜日

Más contenido relacionado

Destacado (8)

Html5 css3 websocket
Html5 css3 websocketHtml5 css3 websocket
Html5 css3 websocket
 
Ssl
SslSsl
Ssl
 
Fxos lt
Fxos ltFxos lt
Fxos lt
 
Windows store app html
Windows store app htmlWindows store app html
Windows store app html
 
Smart phone gunma.web
Smart phone gunma.webSmart phone gunma.web
Smart phone gunma.web
 
Gunma ruby
Gunma rubyGunma ruby
Gunma ruby
 
Tdd&peapro
Tdd&peaproTdd&peapro
Tdd&peapro
 
Web creed
Web creedWeb creed
Web creed
 

Similar a CgiSecure

第2回nseg slideshare
第2回nseg slideshare第2回nseg slideshare
第2回nseg slideshare
ko ty
 
Webアプリって奥が深いんです
Webアプリって奥が深いんですWebアプリって奥が深いんです
Webアプリって奥が深いんです
abend_cve_9999_0001
 
Internet Explorer 11 概要
Internet Explorer 11 概要Internet Explorer 11 概要
Internet Explorer 11 概要
Yoshihisa Ozaki
 
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版
You_Kinjoh
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
Naruto TAKAHASHI
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
Yukio NAGAO
 

Similar a CgiSecure (20)

Dotnetlab 20110827
Dotnetlab 20110827Dotnetlab 20110827
Dotnetlab 20110827
 
WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)WebRTC Rockstars Asian Tour 2017 (JP)
WebRTC Rockstars Asian Tour 2017 (JP)
 
Core Graphics on watchOS 2
Core Graphics on watchOS 2Core Graphics on watchOS 2
Core Graphics on watchOS 2
 
第2回nseg slideshare
第2回nseg slideshare第2回nseg slideshare
第2回nseg slideshare
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_pattern
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみた
 
Agile Estimating And Planning
Agile Estimating And PlanningAgile Estimating And Planning
Agile Estimating And Planning
 
WebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみるWebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみる
 
HTML5 & The Web Platform
HTML5 & The Web PlatformHTML5 & The Web Platform
HTML5 & The Web Platform
 
Webアプリって奥が深いんです
Webアプリって奥が深いんですWebアプリって奥が深いんです
Webアプリって奥が深いんです
 
Titanium実装最初の一歩.
Titanium実装最初の一歩. Titanium実装最初の一歩.
Titanium実装最初の一歩.
 
Processing.jsでおうちハック shorter version
Processing.jsでおうちハック shorter versionProcessing.jsでおうちハック shorter version
Processing.jsでおうちハック shorter version
 
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策第43回HTML5とか勉強会 最新webプロトコル傾向と対策
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
 
Internet Explorer 11 概要
Internet Explorer 11 概要Internet Explorer 11 概要
Internet Explorer 11 概要
 
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版
HTML5の基礎と応用 ~Open Web Platform~ WebSocket / WebRTC / Web Audio API / WebGL 第二版
 
20101214 NetCommons Night
20101214 NetCommons Night20101214 NetCommons Night
20101214 NetCommons Night
 
Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)Hudson (JJUG CCCにて)
Hudson (JJUG CCCにて)
 
GUI Test is (not) necessary
GUI Test is (not) necessaryGUI Test is (not) necessary
GUI Test is (not) necessary
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
Kobe sec#7 summary
Kobe sec#7 summaryKobe sec#7 summary
Kobe sec#7 summary
 

Más de Net Kanayan (20)

FileReader and canvas and server silde
FileReader and canvas and server sildeFileReader and canvas and server silde
FileReader and canvas and server silde
 
Osc16gm
Osc16gmOsc16gm
Osc16gm
 
Open source
Open sourceOpen source
Open source
 
Http2入門の入門
Http2入門の入門Http2入門の入門
Http2入門の入門
 
Es6 cognition
Es6 cognitionEs6 cognition
Es6 cognition
 
ES6 はじめました
ES6 はじめましたES6 はじめました
ES6 はじめました
 
Image convert
Image convertImage convert
Image convert
 
Blueberrypi
BlueberrypiBlueberrypi
Blueberrypi
 
Browser push notifications
Browser push notificationsBrowser push notifications
Browser push notifications
 
Http
HttpHttp
Http
 
Basic vulnerability
Basic vulnerabilityBasic vulnerability
Basic vulnerability
 
Js kusen
Js kusenJs kusen
Js kusen
 
Sass less
Sass lessSass less
Sass less
 
Ll xcode
Ll xcodeLl xcode
Ll xcode
 
Js mvc
Js mvcJs mvc
Js mvc
 
J S Smartphone
J S SmartphoneJ S Smartphone
J S Smartphone
 
Nseg jquery mobile
Nseg jquery mobileNseg jquery mobile
Nseg jquery mobile
 
Smart phone
Smart phoneSmart phone
Smart phone
 
2010 12gunmaweb
2010 12gunmaweb2010 12gunmaweb
2010 12gunmaweb
 
Gunmaweb
GunmawebGunmaweb
Gunmaweb
 

Último

Último (11)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

CgiSecure