Top Banner
CGIに潜むセキュリティーホール ID: @kanayannet 2010821日土曜日
18

CgiSecure

May 31, 2015

Download

Technology

Net Kanayan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CgiSecure

CGIに潜むセキュリティーホール

ID: @kanayannet

2010年8月21日土曜日

Page 2: CgiSecure

こんなCGI達を配布しています

2010年8月21日土曜日

Page 3: CgiSecure

今回は WEB QUIZ version 1.5 のお話

2010年8月21日土曜日

Page 4: CgiSecure

version 1 シリーズの経緯- 自分がまだ、接客業時代に作成開始。

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

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

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

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

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

2010年8月21日土曜日

Page 5: CgiSecure

悪い子 どうしよう(汗)

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

2010年8月21日土曜日

Page 6: CgiSecure

大抵のWEBアプリは 表示 → ソースでHTMLを解析できる。

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

2010年8月21日土曜日

Page 7: CgiSecure

実際にソースを見ながら操作してみます。

2010年8月21日土曜日

Page 8: CgiSecure

「○○秒→1秒になるかな~~?」

2010年8月21日土曜日

Page 9: CgiSecure

「偽装できましたね。」

2010年8月21日土曜日

Page 10: CgiSecure

という事で。。。。

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

2010年8月21日土曜日

Page 11: CgiSecure

ver 2.0 はこうしました。- 偽装されてはいけない情報は「サーバの中で保存」  - クイズ開始の時間  - ユーザID  - 何問正解したか?  - 何問まで進んだか?- 解析しずらくしてしまおう  - HTMLに出力するのは最低限  - Ajax 使ってしまおう  - Prototype.js を使いました。  (Jquery でも十分いけます。)  - 結果として、UIも使い勝手が良くなります。

2010年8月21日土曜日

Page 12: CgiSecure

ここで注意!「Ajax だけで十分じゃね?」 -「HTTP」の通信を解析されるとバレます。  - 当然 Cookie もばれます。 - FireFox Live HTTP Header など

2010年8月21日土曜日

Page 13: CgiSecure

そんな HTML 隠すだけなど!!

貧弱、貧弱~~~!!

2010年8月21日土曜日

Page 14: CgiSecure

クイズ実行処理

認証データ 1タイムパス(ユーザID) 正解数 何問まで回答したか 回答開始時間

ランキングデータ 解答時間 ユーザ名

コントローラHTTP引数をモデルやViewに渡す

モデル データファイルの read/write

View HTML出力

クイズ問題データ

2010年8月21日土曜日

Page 15: CgiSecure

何故、MVCかって??

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

2010年8月21日土曜日

Page 16: CgiSecure

単体テストに便利なツールありますねw

- Ruby: Rspec- Perl: Test::Simple- PHP: PHPUnit , SimpleTest

私的感想:これら自体は動作保証を目的とするものではないが。。。結果として、バグの早期発見、早期リファクタに繋がり動作保証に持って行きやすさを秘めている思う。(全部ベタ書きでは、こうはいかない。)

2010年8月21日土曜日

Page 17: CgiSecure

完成品お披露目

2010年8月21日土曜日

Page 18: CgiSecure

ご清聴、ありがとうございました

2010年8月21日土曜日