利用mitmproxy實現抖音Cookie,裝置ID獲取(一)

木子山禾發表於2020-06-08

先講解一下思路,是利用mitmproxy代理https協議,從而判定抖音個人資訊介面,在個人資訊介面的返回體接收時將使用者資訊資料,以及Header頭(主要是Cookie),Query體(包含裝置ID)進行遠端儲存,用於請求後續其他介面,從而實現抖音裝置登入授權,這個方法只有初次裝置需要安裝證照這塊比較複雜,後續只要連線某個WIFI設定好代理地址就可以授權登入了,抖音每次賬號登入態持續時間較長,不易出現掉登的問題,所以能夠在賬號較多以及,掉登後重登讓業務人員也能夠自行登入,避免開發人員每次去抓包更新登入態的問題。

1.什麼是mitmproxy?

用官網的簡單介紹:mitmproxy是一個免費開源的互動式HTTPS代理。

簡單理解一下就是類似FiddlerCharles的一個抓包工具,但是不同的是mitmproxy是可程式設計的,可以根據提供的Python API可進行程式設計,在代理中加入自己的業務邏輯程式碼,並且能夠篡改轉發返回以及請求體。

官網地址:https://www.mitmproxy.org/

2.安裝mitmproxy

安裝官方文件針對環境需求進行安裝,我這裡採用pip安裝,只需要執行sudo pip3 install mitmproxy命令即可,你也可以選擇通過其他方式進行安裝。

3.執行mitmproxy

在命令列中執行mitmdump出現以下資訊則執行成功

Proxy server listening at http://*:8080

手機連線代理
1.連線手機WIFI(測試階段需要連線統一區域網WIFI),隨後點選紅圈處進行代理設定

在這裡插入圖片描述

2.點選代理選擇手動輸入以下資訊
主機名: 這裡輸入執行`mitmdump`服務的區域網IP|線上環境則為外網IP
埠:8080(預設埠)
然後點選右上角√儲存

在這裡插入圖片描述

3.檢視代理是否成功

手機上點選或者訪問http網站,看到一下資訊則表示代理成功
代理成功
但是隨後依舊會發現會出現大量的
 Cannot establish TLS with client
這個情況是因為目前只是成功代理了HTTP協議而HTTPS協議還需要安裝證照信任才能正常代理,之前有用過FiddlerCharles之類的童鞋應該是知道的。

4.安裝HTTPS信任證照

首先需要注意一點,IOS裝置可以直接安裝證照,而安卓手機7.0以下才能直接安裝證照而7.0+則需要ROOT將證照注入到系統中才能正常進行代理。
IOS:
4-1-1.用手機自帶瀏覽器 輸入mitm.it 訪問網站。

在這裡插入圖片描述

4-1-2.選擇Apple,允許配置描述檔案的下載。

在這裡插入圖片描述

4-1-3.IOS裝置進入手機設定-通用-描述檔案-找到mitmproxy 點選安裝。

在這裡插入圖片描述

4-1-4.IOS裝置進入手機設定-通用-關於本機-證照信任設定 開啟mitmproxy

在這裡插入圖片描述
安卓:
這裡以7.0+裝置為例,因為7.0以下流程與IOS基本相同,只需要下載安裝即可,預設信任 不用信任設定。
當前採用的是 紅米 5 Plus,開發版系統(預設ROOT)
安裝教程:https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/

5.檢視HTTPS代理是否成功

殺死抖音程式,重啟抖音App點選選單中的 “我”
image.png
檢視控制檯可以發現使用者資訊介面已經代理成功(目前抖音版本搜尋/user/profile/self/
image.png

目前已經完成了mitmproxy整個代理流程,後續將講解如何進行程式設計完成使用者資訊相關資料儲存,用於後續介面使用。

下一章:利用mitmproxy實現抖音Cookie,裝置ID獲取(二)

相關文章