使用FreeCookies 控制瀏覽器cookies及修改http響應內容


FreeCookies 插件安裝

1:您的計算機需要已經安裝Fiddler (如未安裝,請至官網下載安裝 http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler

2:進入Fiddler安裝目錄下的Scripts目錄下,將FreeCookies.dll復制到該目錄下  (下載請至:https://github.com/lulianqi/FreeCookies/raw/master/bin/Debug/FreeCookies.dll 或 http://lulianqi.com/file/FreeCookies.dll   )

 

 

3:重啟Fiddler即可在面板中出現 free cookies 標簽

 

 

 

 

FreeCookie使用

  • 通過截獲瀏覽器請求response head頭,並修新增set cookie頭,達到修改瀏覽器cookies的效果

  1: 獲取/編輯 cookies 

 

 如上圖通過在Fiddler左側session面板中選擇任意請求,點擊『Get Cookies』按鈕即可獲取該請求所帶有的所有Cookies

 

  

 獲取cookies后,會顯示在UI界面中,A區域為cookies原始信息,B區域為cookies的格式化列表展示,C區域編輯區可以對B中單條cookie進行編輯

   B中選擇任意cookie可在C區域對KeyVaule進行編輯,點擊『√』確認修改,『+』添加一條新cookie,『-』刪除選定cookie  (被修改的cookie項背景顏色會改變)

 

   2: cookie添加屬性 domain path 等  默認會為每個cookie添加 path = / 的屬性

  

B區列表雙擊任意cookie項,彈出編輯框(如下圖)

 

  可在Attributes中修改屬性 點擊『comfirm』按鈕確認修改 (水印為示例)

 

 

 添加屬性后會顯示在B

 

在A區域直接編輯

     如果您了解Cookies的標准格式,您可以在A區直接編輯Cookies(當格式錯誤時該區文字會變為紅色)

     注意如果在A區對Cookies進行過編輯,所有cookie使用默認屬性

     可以復制保存A區的信息,用於后面的調試或發送給其他計算機使用。


      

向瀏覽器寫入Cookies

 

 

 

編輯好cookies后,選擇需要寫入cookies的網站

Url Filter 中填寫需要寫入的網站

選擇『Inject Cookies Inject Always

Inject Cookies:  當瀏覽器發起請求且url包含Url Filter中的值,則cookies被寫入瀏覽器,但僅寫入一次即被置為失效 (因為一次寫入瀏覽器就會得到指定cookies

Inject Always:  當瀏覽器發起請求且url包含Url Filter中的值,則cookies被寫入瀏覽器,該策略會一直有效,直到用戶取消勾選

 

 

 

如圖當瀏覽器請求baidu時,寫入操作發生。(被修改過的請求在session列表中會顯示黃色高亮,並有log打印)

 

 

 

在瀏覽器中可以看到Cookies已經被寫入同時也加上了HttpOnly 屬性(有2個是因為Url Filter 僅匹配了www.baidu.com, 所有 baidu.com/img 也匹配成功了,2cookies路徑不同)

若需要完全匹配則在Url Filter*開頭即可,全匹配需要帶上http//協議名 及?后查詢參數 (*https://www.baidu.com/   表示完全匹配首頁請求,https://www.baidu.com/test 也不會被匹配)

如果 Url Filter填空則表示匹配任意請求 

 

在瀏覽器中直接寫入微信或支付寶公眾號Cookie,到任意站點甚至本地ip進行本地調試,也可以在不同客戶端瀏覽器之間共享cookies

 

 

  • 通過插件修改response

 

 

 

Free cookies 可以輔助修改請求的響應頭及響應內容,主要是方便即時替換(對response的完全控制及其他編輯功能,可以直接使用Fiddler自帶AutoResponser功能,使用方法詳見http://docs.telerik.com/fiddler/knowledgebase/autoresponder

Change Response 也同樣使用Url Filter 中的篩選,一旦匹配成功且Enable Change處於勾選狀態,該請求內容的返回內容中Replace 指定字符串被替換為下方內容(上圖可樂被替換為娃哈哈),同時右邊heads列表中內容會被添加到響應頭中

 

Change Response 啟用Response修改功能

Only Add Head Response僅添加頭部

Regex Replace中的內容是否為正則表達式

Replace :需要替換的內容,如果該項為空,則代表整個替換(Response會被整個替換為下部文本框中內容)

 

被修改后的請求,在session列表中背景色會顯示為暗紅色

下圖為將jd.com 網站內容中可樂替換為娃哈哈的效果

 

 

 

部分情況下我們只需要更改返回的heads,比如通知瀏覽器強制更新,或禁用緩存

下圖為指定網頁https://item.jd.com/4431446.html 禁用緩存(添加Cache-control: no-store返回頭)的例子。

 

 

 

下圖為直接替換https://www.baidu.com/ 頁面(替換的內容為bing的首頁html內容)

將replace填空,下方內容填寫完整的html(也可以是其他返回json,xml等)

 

 

 

 

 

  • 使用RAW模式完全控制相應(包括響應行及響應頭)

使用RAW模式需要您對HTTP response格式有一定了解

 

點擊如圖 raw模式圖標切換進入 Raw 編輯模式

『Please select template』:您可以選擇一個http相應模板,然后在模板中進行編輯,當然您也可以不使用任何模板

『Enabled』:是否啟用替換功能

『Response Direct』:勾選此項請求將直接返回客戶端,而不向服務器發送請求

點擊右側關閉圖標可退出Raw編輯模式

Url匹配仍然使用上文 Url Filter (匹配規則維持一致)

 

使用Raw  將baidu重定向到google

 

如上圖在Url FIlter處填寫匹配規則

選擇302 Redirect模板,修改模板中lacation內容

在baidu下次請求時即會返回我們指定的內容 (如下圖)

 

 

使用Raw模式直接返回文件等二進制數據

如圖完成配置,在返回實體中按上圖格式填寫本地文件地址(可以在編輯區域鼠標右鍵選擇add file 完成本地文件的添加)

效果如下圖

 

 

 

 

FreeCookies插件源代碼(gitbub :  https://github.com/lulianqi/FreeCookies   )

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM