1. 程式人生 > >利用fiddler 截獲微信傳輸資料 (方便抓取公眾號資訊)

利用fiddler 截獲微信傳輸資料 (方便抓取公眾號資訊)

前言:本文章是搭配《批量獲取微信公眾號》一文,介於群裡朋友很熱情,我就趁著上班測完bug 來撰寫該文章,那麼讀完本文,你會學習到什麼呢?

  1. 什麼是fiddler,他和其他抓包軟體有什麼區別,如何使用fiddler進行抓包
  2. 如何利用fiddler抓取https 的流量,如何安裝證書
  3. 實戰:利用fiddler配合按鍵精靈批量刷微信公眾號的文章頁(經測試語音也可以)

好的,小葵花媽媽咳咳 我們開課了。。。

0x01 初識fiddler

我不瞭解看我文章的讀者是什麼水平,反正我記得當年黑客X檔案08還是09有一個上傳漏洞 用到的就是抓包改包然後菜刀提交。。。當時驚呆了小夥伴,那麼當時的抓包工具是什麼呢,

qq%e6%88%aa%e5%9b%be20160913193525

對就是這貨,比較強大,按照網路七層協議這個抓包能抓到資料鏈路層、網路層(network layer)、傳輸層或應用層(application layer)

比幾年前見到的好用多了 還可以自帶抓取電話啊 無線啊 想想就他喵的激動

qq%e6%88%aa%e5%9b%be20160913193935

既然這個屌玩兒這麼強大我們為啥還用fiddler,額 就是因為太強大 所以會讓我們看到一些很雜亂的東西 比如SYN三次握手什麼的,UDP流量啊 QQ訊息啊。。。。額就當我沒說吧

那這個fiddler能幹嘛 很簡單 他的protocol 就能讓他搞http協議 當然包含https什麼的 我們這些弄爬蟲的 通訊的 和網頁打交道 就這個就行了,沒必要泡方便麵還要法式廚房。

qq%e6%88%aa%e5%9b%be20160913194442

這個時候這個屌玩兒就可以http報文了

他如何實現的呢 他是修改你IE本地瀏覽器設定,

qq%e6%88%aa%e5%9b%be20160913195020

讓所有本地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】,勾上如下圖的選項。

1473776558-3722-20151124210753687-177921438

勾上後,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

1473776559-4957-201502

(如果你的手機安卓沒有設定手勢密碼什麼的是不行的)

然後安裝一個證書就可以愉快的被竊聽https流量了

0x03 實戰微信公眾號的爬取

讓我們用按鍵精靈開啟微信公眾號

我們可以看到成功抓取我們想要的資料qq%e6%88%aa%e5%9b%be20160913220954

但是這時候我們會考慮如果我想把這些請求生成一個txt多好,我的Python或者java直接讀取其中的key 那不是美了美了醉了醉了的感覺麼,我也是這麼想的,怎麼做呢,簡單

看到選單了麼 選擇rules 那個 customs rules那個選項,如果先讓你安裝一個你就先安裝 然後重啟一下進入到如圖所示的介面

qq%e6%88%aa%e5%9b%be20160913221208

儲存Request

(程式碼已經修正空格,可以複製了,如果你發現有任何錯誤請及時與我聯絡 QQ:1027968932)

把下面程式碼貼在OnBeforeRequest()方法末尾

12345678910111213if(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

開放平臺之第三方平臺代公眾發起網頁授權

正式講解之前我想問一個問題: 微信開放平臺第三方平臺為什麼會出現?或者說微信的開發人員為什麼弄出個開放平臺的第三方平臺出來? 我的理解是:原本公眾號開發時只能給一家公司開發,因為配置的網頁授權域名只有