fiddler scriptデモ
DESCRIPTION
Fiddler Script デモです。TRANSCRIPT
Fiddler チュートリアル ワークショップ「はじめての Fiddler reloaded 」2014/10/25
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/
Fiddler Script を使うなら• 「 Fiddler Script Editor 」アドオンhttp://www.telerik.com/download/fiddler/fiddlerscript-editor
ここをクリックしてインストール
Fiddler Script を使うなら• Fiddler2 Script Editor
Fiddler Script を使うなら• Fiddler Script Tab
Fiddler Script デモ①ケース①
.saz ファイルを保存せずにうっかりFiddler を終了させてしまった・・・ orz
・ Fiddler 終了時に忘れずに .saz ファイルを保存したい。
→ Fiddler 終了時に .saz ファイルを保存する。
Fiddler Script デモ①スクリプト例 . CustomRules.js – OnShutdownに以下のコードを追加します。
FiddlerObject.UI.actSelectAll(); var sessions = FiddlerObject.UI.GetSelectedSessions(); if(sessions != null && sessions.Length > 0) { FiddlerObject.UI.actSaveSessionsToZip(); }
Fiddler Script デモ① -2スクリプト例 . CustomRules.js – OnBootに以下のコードを追加します。
FiddlerObject.UI.ControlBox = false;
ウインドウ右上の「 × 」ボタンを使えないようにしてしまえば、うっかり終了しなくなる。
Fiddler Script デモ②ケース②
クローズドな試験環境に配置したWeb アプリケーションに含まれる
外部リンクにはアクセスしたくない。
・試験環境の Web アプリケーション以外にはアクセスできないようにしたい。
→ 対象ホスト以外のアクセスを遮断する。
Fiddler Script デモ②スクリプト例 . CustomRules.js – OnBeforeRequestに以下のコードを追加します。
if(oSession.hostname != “target.host"){ // ホスト名は適宜変更 oSession.utilCreateResponseAndBypassServer(); oSession.oResponse.headers.SetStatus(503,“filtered"); //oSession[“ui-hide”] = “filtered”;// 遮断したセッションを非表示 }
Fiddler Script デモ③ケース③
.saz ファイルを後日見返してみると大事な
セッションがどれだったか分かりにくい。
・大事なセッションに色を付けておけば、視覚的に区別しやすいのでは ?
→ 選択されたセッションの背景色を設定する。
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;
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.