fiddler scriptデモ

13
Fiddler チチチチチチチ チチチチチチチ チチチチチ Fiddler reloaded 2014/10/25 FIDDLER SCRIPT チチ

Upload: hagurese

Post on 13-Nov-2014

684 views

Category:

Software


0 download

DESCRIPTION

Fiddler Script デモです。

TRANSCRIPT

Page 1: Fiddler Scriptデモ

Fiddler チュートリアル ワークショップ「はじめての Fiddler reloaded 」2014/10/25

FIDDLER SCRIPT デモ

Page 2: Fiddler Scriptデモ

プロフィール• 本田 崇 ( ほんだ たかし )• twitter: @hagurese• 株式会社シグナルベースセキュリティ診断グループ• Web アプリのセキュリティ診断やってます。• セキュリティ診断 7 年• Fiddler 歴は 5 年ぐらい ?• 2014 年 3 月 OWASP AppSec APAC

「 12 の事例に学ぶ Web アプリケーションのアクセス制御」http://sssslide.com/speakerdeck.com/owaspjapan/12-case-studies-for-the-access-controls-of-web-application-number-appsecapac2014

• 元々はシステム開発やってました。• C/S アプリ開発 5 年、 Web アプリ開発 5 年• C# プログラマ• Fiddler アドオンも開発してます。

http://www.hagurese.net/factory/

Page 3: Fiddler Scriptデモ

Fiddler Script を使うなら• 「 Fiddler Script Editor 」アドオンhttp://www.telerik.com/download/fiddler/fiddlerscript-editor

ここをクリックしてインストール

Page 4: Fiddler Scriptデモ

Fiddler Script を使うなら• Fiddler2 Script Editor

Page 5: Fiddler Scriptデモ

Fiddler Script を使うなら• Fiddler Script Tab

Page 6: Fiddler Scriptデモ

Fiddler Script デモ①ケース①

.saz ファイルを保存せずにうっかりFiddler を終了させてしまった・・・ orz

・ Fiddler 終了時に忘れずに .saz ファイルを保存したい。

→   Fiddler 終了時に .saz ファイルを保存する。

Page 7: Fiddler Scriptデモ

Fiddler Script デモ①スクリプト例 . CustomRules.js – OnShutdownに以下のコードを追加します。

FiddlerObject.UI.actSelectAll(); var sessions = FiddlerObject.UI.GetSelectedSessions(); if(sessions != null && sessions.Length > 0) {   FiddlerObject.UI.actSaveSessionsToZip(); }

Page 8: Fiddler Scriptデモ

Fiddler Script デモ① -2スクリプト例 . CustomRules.js – OnBootに以下のコードを追加します。

FiddlerObject.UI.ControlBox = false;

ウインドウ右上の「 × 」ボタンを使えないようにしてしまえば、うっかり終了しなくなる。

Page 9: Fiddler Scriptデモ

Fiddler Script デモ②ケース②

クローズドな試験環境に配置したWeb アプリケーションに含まれる

外部リンクにはアクセスしたくない。

・試験環境の Web アプリケーション以外にはアクセスできないようにしたい。

→  対象ホスト以外のアクセスを遮断する。

Page 10: Fiddler Scriptデモ

Fiddler Script デモ②スクリプト例 . CustomRules.js – OnBeforeRequestに以下のコードを追加します。

if(oSession.hostname != “target.host"){ // ホスト名は適宜変更 oSession.utilCreateResponseAndBypassServer(); oSession.oResponse.headers.SetStatus(503,“filtered"); //oSession[“ui-hide”] = “filtered”;// 遮断したセッションを非表示 }

Page 11: Fiddler Scriptデモ

Fiddler Script デモ③ケース③

.saz ファイルを後日見返してみると大事な

セッションがどれだったか分かりにくい。

・大事なセッションに色を付けておけば、視覚的に区別しやすいのでは ?

→  選択されたセッションの背景色を設定する。

Page 12: Fiddler Scriptデモ

Fiddler Script デモ③スクリプト例 . CustomRules.js – OnExecActionに以下のコードを追加します。 case "setbkcolor": if(sParams.Length >= 2){ var sessions = FiddlerObject.UI.GetSelectedSessions(); if(sessions != null){ for(var i = 0; i < sessions.Length; i++){ var session = sessions [i]; if(session != null){ session ["ui-backcolor"] = sParams[1]; session.RefreshUI(); } } } } return true;

Page 13: Fiddler Scriptデモ

Fiddler Script デモ③•ご参考 URLhttp://docs.telerik.com/fiddler/knowledgebase/sessionflags

•Fiddler SessionFlags•UI Flags•ui-backcolorThe value of this flag determines the background color used behind this session's entry in the Session List.