『言善信』Fiddler工具 — 10、Fiddler自動響應器(AutoResponder)的應用

繁華似錦Fighting發表於2021-06-12

介紹幾個Fiddler自動響應器(AutoResponder)應用場景:

  • 場景一:生產環境的請求重定向到本地檔案,驗證結果。

    例如:某網站或者系統修改了問題,但尚未更新到生產環境,可重定向到本地修改後的檔案進行驗證,這樣能夠避免更新到生產環境後才發現問題。

  • 場景二:修改響應結果,模擬介面測試。也可以繞過前端頁面的JS驗證,測試介面是否存在問題。

    例如:當我們進行登陸操作的時候,如果手機好輸入的不規範,前端的校驗就進行攔截了。

  • 場景三:連結某些不安全的wifi時,釣魚者可能會利用篡改某些訪問的JS檔案彈出視窗或連結,重定向到不安全的網站。友情提醒:儘量不要使用不安全的wifi上網。

1、圖片重定向

http://test.lemonban.com/ningmengban/app/login/login.html登陸頁面為例,將主頁圖片重定向到本地圖片。

image

步驟1:獲取要截獲的請求

開啟Fiddler,進行訪問網址,抓取到主頁圖片的請求,並將其拖動到AutoResponder視窗中。

或者在AutoResponder視窗點選Add Rule新增一個攔截規則。

步驟2:編輯攔截規則

Rule Editor第一個下拉框可以設定重定向請求的規則,將請求拖動到該視窗,會自動出現。

如果是點選Add Rule新增攔截規則,需要手動輸入。

第二個下拉框可設定重定向內容。

點選改下拉框,選擇最後一項Find a file…,然後選擇一張本地圖片,點選右側Save按鈕。

image

步驟3:重新訪問主頁連結

重新訪問首頁連結,發現圖片已經替換。
若發現沒有替換,可能是瀏覽器快取問題,可以去快取重新整理或者清空快取後再次訪問即可。(CRTL+F5)

image

提示:請求一個連結,返回本地的html頁面也是同樣的原理。

2、URL重定向

以訪問http://test.lemonban.com/ningmengban/app/login/login.html首頁為例,設定訪問首頁時,重定向到京東首頁。

設定規則如下:

步驟1:點選Add Rule新增一個新規則。

步驟2:修改新增規則的攔截地址和重定向地址。

image

新增EXACT:後,完全匹配的請求地址才會觸發重定向。

步驟3:訪問首頁連結,進行了地址的重定向。

輸入的是首頁地址,返回來的是京東首頁。

image

3、本地除錯js檔案

以訪問http://test.lemonban.com/ningmengban/app/login/login.html首頁為例,設定訪問首頁時,呼叫本地的js檔案,效果有頁面有彈框彈出。

步驟1:訪問首頁,用Fiddler抓如請求首頁的連結。

步驟2:任選一個js檔案的請求,我們把內容複製下來儲存到本地1.js檔案中。

image

步驟3:在本地1.js檔案中最上方,新增一條程式碼alert(1)

步驟4:設定規則如下:

  • 把該請求拖拽到AutoResponder皮膚的規則欄中。
  • 編輯規則,讓該請求訪問本地的1.js檔案
    image

步驟5:再次進行首頁訪問,檢視結果。

結果頁面彈出了alert視窗,說明請求最終訪問了本地的1.js檔案。

image

4、模擬Mock介面測試

當我們需要測試一個介面,可該介面還沒有被開發人員實現,這個時候我們就可以通過Fiddler進行Mock模擬測試。

步驟1:根據介面文件,把該介面的請求,新增到攔截規則中。

步驟2:根據介面文件對該介面的返回描述,自行編寫返回資料。

  • 規則上右鍵選擇Edit Response...
    image
  • 然後按照給是返回資料,如下:
    HTTP/1.1 200 OK
    Server: nginx/1.4.2
    Date: Sat, 23 Jan 2021 18:11:41 GMT
    Content-Type: application/json;charset=UTF-8
    Transfer-Encoding: chunked
    Connection: keep-alive
    
    53
    {"success":false,"message":"該手機號沒有註冊","content":null,"object":null}
    
    
  • 然後儲存規則,重新訪問即可。

5、綜合練習

簡單模擬網站釣魚的原理:

就是當我們訪問一個網站的時候,會產出一些提示框,我們操作後,會跳入對應的釣魚網站,這些網站就非常的危險了,我們一定要謹慎操作(直接離開)。

實現思路:

  1. 訪問http://test.lemonban.com/ningmengban/app/login/login.html首頁為例。
  2. 儲存任意一個js請求的檔案到本地(同上面呼叫本地js的練習)
  3. 修改本地js檔案,新增如下程式碼
    # 彈出一個提示框,點選是訪問京東頁面,點選否訪問淘寶頁面
    var flag = confirm("恭喜你中獎了,是否前往領!!!")
    if(flag){
        window.location.href ="http://www.jd.com"
    }else{
        window.location.href ="http://www.taobao.com"
    }
    
  4. 配置Fiddler自動響應器規則。
  5. 進行重新訪問,檢視效果。

提示:這個例子就是開闊一下思路,實現起來很方便。大家可以自己動動手實現一下。

6、總結

  • 特別說明:如果瀏覽器用的是Firefox,記得先清一下臨時檔案快取,因為Firefox是真正的快取,當判斷檔案的快取還未過期時,就不會再發請求出來,Fiddler就獲取不到了。
  • 總結:我們可以通過以上方法修改本地檔案,進行測試。
    自動重定向功能是Fiddler最實用的功能,這裡的Rule可以自由地設定,可以使用搜尋(預設)、精確匹配(EXACT)、正規表示式匹 配(REGEX)。
    處理方式可以選擇使用檔案,也可以選擇合適的時間暫停資料流(bpu、bpafter),人工干預。通過以上幾個示例,我們演示了怎樣將HTTP請求重定向到本地的檔案,進行web除錯。
    這種除錯方式不需要釋出到線上再驗證,避免了修改不成功、對使用者造成影響的風險,而且不需要搭建複雜的開發伺服器等開發環境,非常適合快速web除錯。

參考:

相關文章