Fiddler充當第三者,主要是通過AutoResponder標籤在使用者端和伺服器端之間,Fiddler抓包,然後改包,最後傳送。AutoResponder這個功能可以算的上是Fiddler最實用的功能,可以讓我們修改伺服器端返回的資料,例如:讓返回都是HTTP404或者讀取本地檔案作為返回內容。宏哥將在範例中介紹利用AutoResponse功能。
簡單介紹幾個應用場景:
場景一:生產環境的請求重定向到本地檔案,驗證結果。這個在實際工作中經常會遇到。
例如:某網站或者系統、APP修改了問題,但尚未更新到生產環境,而且有些客戶停機停服務的申請特別的囉嗦麻煩(如:國企各種流程審批)還有些客戶惹不起都不敢輕易停機停服務,停機發一次版本是相當不容易的,。此時我們就可以重定向到本地修改後的檔案進行驗證,這樣能夠避免更新到生產環境後才發現問題。
場景二:修改響應結果,模擬介面測試。也可以繞過前端頁面的JS驗證,測試介面是否存在問題。
例如:當我們進行登陸操作的時候,如果手機好輸入的不規範,前端的校驗就進行攔截了。
場景三:連線某些不安全的wifi時,釣魚者可能會利用篡改某些存取的JS檔案彈出視窗或連結,重定向到不安全的網站。溫馨提醒:儘量不要使用不安全的wifi上網。
本地偵錯的檔案很多,例如:html文css檔案、js檔案、圖片檔案等各種型別的檔案,其處理和操作步驟一致,宏哥這裡就以js檔案為例講解和分享一下供大家參考。
1.啟動Fiddler,存取簡書首頁,任意選中一個js檔案對談,然後點選「AutoResponder」,然後點選「Add Rule」新增一個新規則。如下圖所示:
2.修改新增規則的攔截地址(編輯規則,讓該請求存取原生的test.js檔案)。如下圖所示:
3.把選中對談的js檔案,點選「Inspectors」,然後點選「解碼」,複製到原生的test.js檔案中。如下圖所示:
4.在最前邊(頂部)加上一行「alert("我被'北京-宏哥'劫持修改了!!!");」。如下圖所示:
5.再次進行簡書首頁存取,檢視結果。結果頁面彈出了alert視窗,說明請求最終存取了原生的test.js檔案。如下圖所示:
6.選中那條js對談請求,點選「Inspectors」檢視js檔案,結果開頭看到宏哥加的哪一行程式碼「alert("我被'北京-宏哥'劫持修改了!!!");」。如下圖所示:
以 https://www.baidu.com 主頁面為例,將主頁百度logo圖片重定向到宏哥部落格園中公眾號二維條碼圖片。
宏哥這裡以度娘為例按照前邊在基礎理論知識的操作步驟實踐一下。如當我們請求百度頁面的時候, 會抓取到其中一個百度logo圖片對談,最後把這個圖片對談響應給替換成其他資源圖片。
1.宏哥首先在Fiddler中的Inspectors結合對談列表找到百度logo這個圖片的連線資源URL地址: 可能有多個。如下圖所示:
2.切換到AutoResponder索引標籤, 在Rule Editor規則編輯中填入要請求的資源地址(度娘logo的圖片地址)和替換成的響應地址(宏哥二維條碼的地址,這個地址可以是網上的,也可以是本地圖片的絕對路徑),最後點選save儲存一下, 就可以了。宏哥這裡將其替換成宏哥公眾號的二維條碼。如下圖所示:
3.儲存以後,重新整理瀏覽器,再次重新存取度娘後,檢視到logo被替換成了宏哥的公眾號二維條碼,這是因為你再次請求百度頁面的時候,如果再次遇見到這個百度logo圖片的資源地址,那麼請求就會被中間層的Fiddler所劫持並篡改成為我們設定的某個響應資源,並返回給使用者端, 明白了吧, 這個響應不是從伺服器回來的,而是宏哥人為篡改的。若發現沒有替換,可能是瀏覽器快取問題,可以去快取重新整理或者清空快取後再次存取即可。如下圖所示:
1.啟動Fiddler,然後點選「AutoResponder」,然後點選「Add Rule」新增一個新規則。如下圖所示:
2.修改新增規則的攔截地址和重定向地址。如下圖所示:
3.新增EXACT:後,完全匹配的請求地址才會觸發重定向。記得要點選後邊的「Save」按鈕,如下圖所示:
4.存取百度首頁連結,進行了地址的重定向。輸入的是百度首頁地址,返回來的是宏哥部落格的首頁。如下圖所示:
Edit Response也就是自定義編輯響應。我們可以直接編輯伺服器返回響應資訊的詳細內容,然後再返回給使用者端。可能小夥伴或者童鞋們在宏哥之前的文章或者截圖中,看到宏哥百度的背景色是綠色的,就是因為宏哥在這裡修改了的原因。具體步驟如下:
1.將伺服器的響應直接拖拽到AutoResponder-自動響應器的規則列表中,如下圖所示:
2.選中響應,右鍵選擇編輯響應資訊,如下圖所示:
3.自定義響應內容,將響應的背景色修改成綠色後,點選「儲存」,如下圖所示:
4.重新整理瀏覽器,再次重新存取度娘後,可以看到度娘頁面的背景色變成綠色了,如下圖所示:
Fiddler強大之處就是:響應都可以隨便篡改。通過這種中間截獲的手段並篡改響應資源的手法就可以實現很多資源響應的修改,如:html、css、js等資源都是可以的。
關於Fiddler的AutoResponder重定向功能,主要是時進行對談的攔截,然後替換原始資源的功能。它與手動修改Reponse是一樣的,只是更加方便了,可以建立相應的rules,適合批次處理的重定向功能。