利用fiddler 截獲微信傳輸資料 (方便抓取公眾號資訊)
前言:本文章是搭配《批量獲取微信公眾號》一文,介於群裡朋友很熱情,我就趁著上班測完bug 來撰寫該文章,那麼讀完本文,你會學習到什麼呢?
- 什麼是fiddler,他和其他抓包軟體有什麼區別,如何使用fiddler進行抓包
- 如何利用fiddler抓取https 的流量,如何安裝證書
- 實戰:利用fiddler配合按鍵精靈批量刷微信公眾號的文章頁(經測試語音也可以)
好的,小葵花媽媽咳咳 我們開課了。。。
0x01 初識fiddler
我不瞭解看我文章的讀者是什麼水平,反正我記得當年黑客X檔案08還是09有一個上傳漏洞 用到的就是抓包改包然後菜刀提交。。。當時驚呆了小夥伴,那麼當時的抓包工具是什麼呢,
對就是這貨,比較強大,按照網路七層協議這個抓包能抓到資料鏈路層、網路層(network layer)、傳輸層或應用層(application layer)
比幾年前見到的好用多了 還可以自帶抓取電話啊 無線啊 想想就他喵的激動
既然這個屌玩兒這麼強大我們為啥還用fiddler,額 就是因為太強大 所以會讓我們看到一些很雜亂的東西 比如SYN三次握手什麼的,UDP流量啊 QQ訊息啊。。。。額就當我沒說吧
那這個fiddler能幹嘛 很簡單 他的protocol 就能讓他搞http協議 當然包含https什麼的 我們這些弄爬蟲的 通訊的 和網頁打交道 就這個就行了,沒必要泡方便麵還要法式廚房。
這個時候這個屌玩兒就可以http報文了
他如何實現的呢 他是修改你IE本地瀏覽器設定,
讓所有本地HTTP流量經過他的代理相當於自己搭建了一臺代理伺服器,但是如果想要做https代理 那麼我們還需要做一點小小的設定。
0x02 小小的設定
沒錯 正如你看到的很多fiddler教程一樣,我也要開始教你怎麼樣設定了
也許你沒有很多關於MITM的知識,不好意思 關我屁事 沒學過還他喵的嘚瑟不去Google!!!!!!
啥?你說要給錢==好嘞,大爺我這就給您講,記得好評哦
要抓取走 HTTPS 的 JS 內容,Fiddler 必須解密 HTTPS 流量。但是,瀏覽器將會檢查數字證書,並發現會話遭到竊聽。為了騙過瀏覽器,Fiddler 通過使用另一個數字證書重新加密 HTTPS 流量。Fiddler 被配置為解密 HTTPS 流量後,會自動生成一個名為 DO_NOT_TRUST_FiddlerRoot 的 CA 證書,並使用該 CA 頒發每個域名的 TLS 證書。若 DO_NOT_TRUST_FiddlerRoot 證書被列入瀏覽器或其他軟體的信任 CA 名單內,則瀏覽器或其他軟體就會認為 HTTPS 會話是可信任的、而不會再彈出“證書錯誤”警告。
好吧我承認我很懶上面一段是抄別人的,不過我先宣告 在MITM環境下沒有任何情況是安全的。(這不是量子通訊還沒實現不是喵)
你懂這個原理以後我們開始操刀設定fiddler
首先,開啟 Fiddler,在選單欄中依次選擇 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下圖的選項。
勾上後,Fiddler 會提示你安裝一個證書。安裝完後點擊上圖中的 “Export Root..” 按鈕,將證書下載到桌面。
又是抄別人的教程是吧,我的咋沒有 export root certificate to desktop 對 我也是這樣想的,為啥你們高階啊 我的從官網上最新版本都沒有,我想說的是別急,聽我慢慢道來。
如果這個時候我們不管他 本地是絕對不會安裝證書的,到時候就會抱一個傻逼錯誤叫做
這個需要我們手動安裝
如何安裝呢
簡單,在fiddler目錄下有一個makecert.exe
你在這個建一個bat指令碼 輸入以下命令就好,返回成功就不要執行第二次了,執行第二次他媽的後面又有問題,你要刪除多餘證書,真他媽傻逼。
makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
如果我們要監聽手機app
怎麼辦 簡單,我筆記本開一個熱點,然後手機連線上熱點,那麼筆記本就和手機同處一個區域網,然後讓手機訪問你的電腦區域網IP
怎麼看呢 ipconfig 謝謝
比如查到的ip為192.168.xx.38
那麼你手機瀏覽器訪問的就是192.168.xx.38:8888
(如果你的手機安卓沒有設定手勢密碼什麼的是不行的)
然後安裝一個證書就可以愉快的被竊聽https流量了
0x03 實戰微信公眾號的爬取
讓我們用按鍵精靈開啟微信公眾號
但是這時候我們會考慮如果我想把這些請求生成一個txt多好,我的Python或者java直接讀取其中的key 那不是美了美了醉了醉了的感覺麼,我也是這麼想的,怎麼做呢,簡單
看到選單了麼 選擇rules 那個 customs rules那個選項,如果先讓你安裝一個你就先安裝 然後重啟一下進入到如圖所示的介面
儲存Request
(程式碼已經修正空格,可以複製了,如果你發現有任何錯誤請及時與我聯絡 QQ:1027968932)
把下面程式碼貼在OnBeforeRequest()
方法末尾
12345678910111213 | if(oSession.fullUrl.Contains("mp.weixin.qq.com")){varfso;varfile;fso=newActiveXObject("Scripting.FileSystemObject");//檔案儲存路徑,可自定義file=fso.OpenTextFile("c:\\Sessions.txt",8,true,true);file.writeLine("Request url: "+oSession.url);file.writeLine("Request header:"+"\n"+oSession.oRequest.headers);file.writeLine("Request body: "+oSession.GetRequestBodyAsString());file.writeLine("\n");file.close();} |
儲存Response
把下面程式碼貼在OnBeforeResponse()
方法末尾
1 2 3 4 5 6 7 8 9 10 11 12 13 | if(oSession.fullUrl.Contains("mp.weixin.qq.com")) { oSession.utilDecodeResponse();//消除儲存的請求可能存在亂碼的情況 varfso; varfile; fso=newActiveXObject("Scripting.FileSystemObject"); //檔案儲存路徑,可自定義 file=fso.OpenTextFile("C:\\Response.txt",8,true,true); file.writeLine("Response code: "+oSession.responseCode); file.writeLine("Response body: "+oSession.GetResponseBodyAsString()); file.writeLine("\n"); file.close(); } |
相關推薦
利用fiddler 截獲微信傳輸資料 (方便抓取公眾號資訊)
前言:本文章是搭配《批量獲取微信公眾號》一文,介於群裡朋友很熱情,我就趁著上班測完bug 來撰寫該文章,那麼讀完本文,你會學習到什麼呢? 什麼是fiddler,他和其他抓包軟體有什麼區別,如何使用fiddler進行抓包如何利用fiddler抓取https 的流量,如何安裝
AbpZero之企業微信---登錄(拓展第三方auth授權登錄)---第三步:需要註意事項
login eat exce sync private open 生成 isp lose 1、AbpZero的auth登錄會在數據庫中的AbpUserLogins表會根據你登錄的ProviderKey和Provider來生成生成一條記錄,ProviderKey在表中是唯一的
微信小程式(看文件寫例項十)微信小程式課堂寶APP實現我的模組相關介面及邏輯
繼上篇博文,這篇完成最後一個模組,即我的模組。 一、頁面效果 這個模組是和使用者型別相關的,因此老師賬號和學生賬號能看的功能不一樣,老師端效果如下: 點選頭像到達個人資訊如下: 點選後可以做相應的修改。學生端的介面如下: 修改密碼的頁面如下: &nbs
微信小程式(看文件寫例項八)微信小程式課堂寶APP實現練習模組前臺
接上篇博文,這篇主要描述練習模組的前臺顯示,其中包括test頁面,答題detail頁面以及提交答題後答卷answer頁面。 一、練習模組test頁面 練習頁面主要展示的是當前使用者的頭像,暱稱以及學校資訊,另外還有答題資訊,以及每個章節的練習資訊,先來看看效果: grid用的是樣式
微信小程式(看文件寫例項七)微信小程式課堂寶APP實現線上課堂測試
接著上篇博文已經完成簽到功能,這篇來完成課堂測試功能。 一、需求描述 1、在後臺選擇題、主觀題表中上傳測試題 2、客戶端獲取題目資訊 3、把題目資訊格式化載入顯示 4、客戶端答題,主觀題每題能上傳一張答題圖片 5、客戶端答題結束提交到伺服器 二、前臺頁面 提交大量資料
微信小程式(看文件寫例項六)微信小程式課堂寶APP實現簽到邏輯
繼上篇博文,這篇寫下籤到實現的邏輯。 一、實現邏輯 發起簽到 1、先上傳當前自己的定位經緯度 2、學生查詢老師的最後一次簽到記錄,如果發現簽到記錄signComplete為false說明有新的簽到 3、得到簽到的第幾次課 4、系統獲得學生的定位經緯度 5、判斷兩點經緯度轉
微信小程式(看文件寫例項五)微信小程式課堂寶APP實現獲取簽到列表
根據上篇博文,這篇主要實現獲取簽到列表邏輯。 獲得簽到列表主要有以下步驟: (1)查詢老師的ID (2)查詢老師的簽到記錄 (3)如果當前使用者是老師,直接顯示所有記錄,因為簽到記錄都是老師發起的,肯定每次都簽到 (4)如果當前使用者是學生,以老師的簽到列表作為長度,然後以ite
微信小程式(看文件寫例項四)微信小程式課堂寶APP實現簽到子頁面佈局及課程視訊播放頁面
一、簽到子頁面佈局 子頁面主要是一個簽到按鈕,然後下方是簽到記錄列表。 1、簽到按鈕 佈局程式碼: <button class='sign-button' bindtap='sign'>簽到</button>
微信小程式(看文件寫例項三)微信小程式課堂寶APP實現整體介面框架及首頁佈局
一、首頁佈局簡單思路 回顧上一篇博文,首頁的內容主要有輪播圖,橫向滑動選單以及選單對應的view,橫向滑動選單有簽到、課堂測試、模擬測試、課堂提問、答問記錄五個選項,當點選選項時更新顯示view。由於素材和時間有限,所以佈局做得相對簡單,主要是側重思路及程式碼邏輯。 二、輪播圖 檢視文件
微信第三方登入(靜默授權和非靜默授權)
使用者在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取使用者基本資訊,進而實現業務邏輯。 微信的授權登入在日常應用中應用的非常廣泛,越來越多的平臺支援使用者使用微信進行授權第三方登入 使用微信授權登入有哪些優勢/好處; 1、使用者量足夠大,基本
微信小程式(設定當前頁面標題顏色背景)
微信小程式(設定當前頁面標題顏色背景) 全域性的屬性在全域性app.json裡面設定,如果要設定單獨介面裡面的屬性,就在那個資料夾底下的XXX.json裡面設定就可以了。 { "navigationBarBackgroundColor": "#b3d4db", "navigation
Android-模仿微信小視窗(Dialog對話方塊風格的視窗)
運用方法: 將顯示視窗的風格 設定為對話方塊風格即可 具體效果: 具體實現: 首先我們先定義佈局檔案: <?xml version="1.0" encoding="utf-8" ?> <RelativeLayout xmlns:android="h
微信小程式(看文件寫例項一)微信小程式計算器例項
Page({ data: { back: 'back', C: 'C', addSub: 'addSub', add: '+', sub: '-', mut: '×', div: '÷', equ: '=', histor
微信小程式(看文件寫例項二)微信小程式課堂寶APP
全程記錄APP的開發過程,專案完結公上傳Github. 一、需求 由於老闆讓做一個課堂資訊化APP,想想在移動端開發,小程式不分Android和IOS,所以就選擇了微信小程式,軟體的需求不多,但整體內容還是符合一個軟體的標準,我將記錄從需求到模組分析到功能結構
微信第三方登入(靜默授權和非靜默授權)例項步驟
微信的授權登入在日常應用中應用的非常廣泛,最多就是第三方登入,最近在搞這方面的例子,做個筆記,方便查閱。 微信登入分為兩類:需要使用者確認的授權登入與靜默授權,使用者確認的授權登入因為要通過使用者的個人確認,所以可以獲取使用者全面的資訊,無論是否關注相關微訊號都可以獲取,靜
微信中MMAlert(半透明底部彈出選單)的使用介紹
如果大家時常用過微信或者用過iphone,就會發現有種從底部彈出的半透明選單,這種選單風格優美並且使用者體驗良好,先看一下效果。 MMAlert來自微信開放平臺的sdk示例,其示例的程式碼有點亂,我做了刪減和整理,只保留了MMAlert這個類的一部分功能,即只保留了
微信支付之掃碼支付、公眾號支付、H5支付、小程序支付相關業務流程分析總結
doc bsp 說明 引入 red 內容 bubuko url參數 數據 前言 很久以來,一直想寫一篇微信支付有關的總結文檔;一方面是總結自己的一些心得,另一方面也可以幫助別人,但是因種種原因未能完全理解透徹微信支付的幾大支付方式,今天有幸做一些總結上的文章,也趁此機會,將
python利用百度API進行地理編碼(將地名轉換為經緯度資訊)
更新時間:2018-3-28 更新內容:優化部分程式碼,新增mongodb部分的內容 本文章通過講解如何在百度地圖API申請金鑰,然後在python中呼叫API介面將自有資料中的地名轉換為經緯度座標。 執行環境: python3 一、註冊金鑰
微信java版本之掃碼關注公眾號(帶引數的臨時二維碼)
1.生成帶引數的二維碼介面介紹 為了滿足使用者渠道推廣分析的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。 目前有2種類型的二維碼,分別是臨時二維碼和永久二維碼,前者有過期時間,最大為1
微信開放平臺之第三方平臺代公眾號發起網頁授權
正式講解之前我想問一個問題: 微信開放平臺第三方平臺為什麼會出現?或者說微信的開發人員為什麼弄出個開放平臺的第三方平臺出來? 我的理解是:原本公眾號開發時只能給一家公司開發,因為配置的網頁授權域名只有