對象: 程式設計師/資訊安全人員
難易度: ★★★☆☆
技術新舊: 2010年
閱讀時間: 30分鐘
WebScarab是個分析使用HTTP和HTTPS通訊協定的應用程式。允許使用者檢查和修改瀏覽器發送(Request)給Server的請求和Server回傳(Responses)給瀏覽器的訊息。
WebScarab有許多的功能,先簡單介紹WebScarab如何攔截和修改經由HTTP/S所發送的Requests和Response。
(圖一)
上圖為WebScarab開啟後的畫面,首先介紹Summary。Summary分成兩個部分,上半部份會以樹狀顯示訪問的站點有哪些。下半部份是以表格呈現通過WebScarab所有的會話內容,通常以ID遞減排列,所以靠近表格頂部的是最近的會話。
為了要使用WebScarab,需要到IE的網際網路選項,去修改Proxy的設定。點選「網際網路選項」→「連線」→「區域網路設定」,勾選使用Proxy伺服器,在位址輸入“localhost”,連接埠輸入“8008”。WebScarab預設使用localhost的8008port做為其Proxy,此設定會讓IE將requests傳送到WebScarab。
接著回到IE瀏覽器,並開啟WebScarab,連接到任一網站,就可看到圖一的畫面。你可以看到URL樹,以顯示曾經過WebScarab的所有會話。點擊下方窗口資料表的任一行,會彈出一個視窗,顯示此會話詳細的資料。
(圖二)
接下來介紹WebScarab如例攔截請求並在它們發送給Server前對其進行修改。
點選WebScarab上Proxy頁面,選擇Manual Edit頁面,勾選「Intercept Requests」,然後選擇要攔截的項目,先以“POST”做為範例。
(圖三)
然後回到瀏覽器,隨便點擊任一按鍵,例如在Gmail的登入畫面按登入。這時就可以看到WebScarab在工作列閃爍,顯示有新視窗產生。點選新視窗就會看到以下畫面。
(圖四)
你可以看到剛才輸入的使用者名稱及密碼,接著,就可以在此視窗編輯此Request的任何部份了。編輯完畢後,點擊“Accept changes”就會將修改後的Request傳送到Server。若是希望取消此次編輯,就點擊“Cancel changes”。若是不想傳送此一Request到Server,就點擊“Abort request”。或是想一次將全部的攔截視窗都關閉,可選擇“Cancel All intercepts”。
WebScarab會一直攔截所有符合指定方式的Request,直到取消「Intercept Requests」。