2009年8月26日 星期三

FireFox元件- WEB 服務器調試利器 -- Tamper Data


. 簡介
      作為 Firefox 的插件, Tamper Data 簡單易用,功能強大,可以用來查看和修改 HTTP/HTTPS 的頭部和 POST 參數;可以用來跟蹤 HTTP 請求和響應並記時;可以對 WEB 站點進行某些安全測試,從而為調試 WEB 配置帶來了極大的便利,是網站維護人員不可多得的實用工具。
. 安裝
      Tamper Data 的安裝很簡單,如下所示:
      第一步:打開 Firefox,進入 google.cn,搜索 「tamper data」,並點擊搜到的 "Tamper Data :: Firefox Add-ons-"項。如下圖所示:

       
        第二步:進入 Tamper Data 安裝頁面後,找到下面的位置並點擊,開始安裝:
     
         第三步:安裝完後後,可以在 Firefox 菜單欄的「工具」菜單項裡面找到 Tamper Data,如下圖所示:

. 使用
      Tamper Data 的使用也比較簡單,下面介紹了其主要的用法:
      點擊 Firefox 菜單欄上「工具」菜單項裡面的「Tamper Data」,就會彈出 Tamper Data 的主窗口,如下圖所示:

       
        可以看出,其主窗口主要分成三部分,分別如圖中的 123 所示。當我們打開 Tamper Data 後,我們瀏覽網頁時發出的每一個 HTTP 請求及其對應的響應都會被 Tamper Data 記錄下來。第 1 部分顯示每一個 HTTP 請求及其對應的 HTTP 響應的概要信息,其中包括了大量有用的信息,比如頁面元素大小,HTTP 請求的方法,HTTP 響應的狀態值,等等。最值得注意的是「Duration」和「Total Duration」這兩個字段的值,他們顯示出了打開每一個頁面元素所花費的時間和打開該頁面花費的總時間。根據這些時間值,就可以判斷出打開我們頁面的 速度如何,是哪些頁面元素影響了整個頁面打開的速度,從而為我們進一步優化頁面提供寶貴的信息。當我們在第 1 部分選中某條概要信息後,第 2 部分會顯示出對應的 HTTP 請求的頭部信息,第 3 部分會顯示出對應的 HTTP 響應的頭部信息。
        如果我們比較喜歡查看圖型化的統計信息,那麼可以在 Tamper Data 主窗口的第 1 部分單擊右鍵,在彈出的菜單上點擊「Graph All」,如下圖所示,那麼這些每個頁面元素及其打開它們所花費的時間,就會以圖形的方式,直觀地顯示出來。具體的圖形,就不提供了。

        接下來,我們看看幾個實際的例子。
        第一個例子:我們把 APACHE 配置為,當用戶第一次瀏覽我們的網站時,向用戶的瀏覽器寫入一個 Cookie,以方便對他們的訪問行為的跟蹤,然後,我們需要驗證配置是否正確。於是,我們開啟 Tamper Data,然後再訪問我們網站的某個頁面,接著分析 Tamper Data 所記錄的數據。可以從第 3 個窗口看到,我們的 APACHE 服務器確實向我們的瀏覽器寫入了預先配置的 Cookie,如下圖所示:

        接下來,我們去體會 Tamper Data 的真實含義,即「篡 改數據」(或者說定製 HTTP 請求):截取瀏覽器發出的每一個 HTTP 請求,提示我們選擇是要進行定製,還是不做定製而直接提交請求,還是終止當前被截取的請求,然後根據我們的選擇決定是打開定製窗口,還是直接向 WEB 服務器提交請求,還是終止當前的請求。
        默認情況下,Tamper Data 不會截取對圖片的請求,所以,如果我們需要對獲取圖片的請求進行定製,那麼需要一點點修改,點擊 Tamper Data 主窗口上的「Option」,會出現下面的窗口,勾選「Tamper with Images etc.」就可以了。
        順便提一下,從下面窗口的內容可以看出,Tamper Data 還提供了一些進行 XSS(跨站腳本)攻擊和 SQL 注入攻擊的代碼,而且允許我們加入自己的攻擊代碼,極大地方便了我們對 WEB 站點進行安全測試。

        是該進行「Tamper」的時候了。
     點擊 Tamper Data 主窗口上的「Start Tamper」,開啟對 HTTP 請求的截取。

        一旦開啟了對 HTTP 請求的截取,對於瀏覽器發出的每一個請求,Tamper Data 都會截取,然後顯示出下面的窗口,要求我們作出選擇:

        在此我們選擇「Tamper」,準備對 HTTP 請求進行定製,對我們的 WEB 服務器配置進行測試和調試。
        點擊率「Tamper」之後,會出現下面的窗口。可以看到,窗口的頂部,顯示當前被截獲的 HTTP 請求,左邊窗口顯示的是瀏覽器發出的 HTTP 請求的頭部各字段,右邊窗口顯示的是瀏覽器發出的 HTTP 請求的  POST 參數。在這兩個窗口裡面,我們可以修改瀏覽器提交的 HTTP 請求頭部字段/POST 參數,刪除某些 瀏覽器提交的 HTTP 請求頭部字段/POST 參數,或者添加其他合法的 HTTP 請求頭部字段/POST 參數。很強大吧?

        現在,我們想測試自己配置的圖片防盜鏈是否正常起作用。於是我們添加一個 Referer 頭部字段,並輸入 [url]www.cisco.com[/url] ,如下圖所示,點擊「OK」提交後,發現我們的請求被重定向到 go_way.html 頁面,可見我們的配置是正確的。

        下面是測試我們配置的防惡意瀏覽器訪問。在下面的窗口,修改瀏覽器提交的 User-Agent 字段,將其設置為我們禁止的惡意訪問瀏覽器之一,比如 sogou spider,點擊「OK」提交後,發現我們的請求被禁止了,可見我們的配置是正確的。

        這樣的例子,還可以寫很多,在此就不再講述了。有興趣的讀者可以去深入研究 Tamper Data
. 總結
       Tamper Data 是我見過的最好用的 WEB 調試工具之一,既可以統計每個頁面及其元素的打開速度,又可以定製 HTTP 請求,對我們的網站進行安全測試。作為網站維護人員,實在是有必要掌握它,為自己的兵器庫增加一種厲害的兵器。
附:本文提到的 APACHE 配置,可以參考我的另外一篇文章《我這樣裝 APACHE
本文出自 「鄒可見」 博客,請務必保留此出處http://zoukejian.blog.51cto.com/131276/62057

註: 本文轉載自網路 非原創