抓包:Mitmproxy 之 Mitmweb
一、專案資訊
- 專案地址
- 文件地址
二、能解決什麼問題、優點
我知道大部分測試人員都不喜歡看文件,所以稍微總結一下測試平時使用的功能,或者大家感興趣的功能,一般是其他抓包軟體無法或者不容易實現的
- https 抓包 + 伺服器部署 +web 視覺化介面
- 請求/響應 替換
- python 外掛支援
- 解密 response
- 上游模式 - 科學抓包
- 長連線支援,websocket、udp、tcp
- wireguard 透明代理
三、安裝 + 證書
寫了又刪了,其他帖子都寫這個,我就不寫了,有興趣自己會去裝的
擱這看 官方
需要注意的是,如果伺服器安裝了,要在區域網其他裝置訪問,需要指定引數
--web-host 0.0.0.0
四、技巧篇
1、內容替換
有什麼用
就測試而言,我舉幾個例子:
1、 可以測試客戶端的不同響應,而不需要伺服器的參與
比如我有一個登入或者 serverstate 介面,返回{"status": 1}。 現在我要測試停服介面,一般,我只需要把響應結果改成{"status": 0},客戶端就會進入停服介面
2、 簡單的安全測試
以下例子其實已經屬於安全的範疇了,尤其在弱聯網遊戲中,很容易修改玩家的數值
怎麼做
在 mitmweb 中,點選 options-edit options,找到 modify_body,新增一行
/~s/"status":1/"status": 0
這個表示把響應中的status: 1
改為status: 0
同理, 我要測試 Bilibili 的硬幣
修改之前:
修改之後:
使用的替換就是
/~s/"coin":\d+/"coin": 99999999999
所以這裡是顯示沒問題的。
官方教程
官方
2、解密 response
一般的抓包軟體,即便我知道解密演算法,那也無法視覺化,只能抓包拿到 body,再透過其他的工具或程式碼解密
透過外掛這裡就可以視覺化請求和響應
解密前:
解密後:
3、上游模式 - 抓科學包
如果想要抓取某些包,比如谷歌商店的請求,一般是比較困難的。這裡可以指定上游代理,前提是你已經安裝了代理軟體
--mode "upstream:http://localhost:7890@$proxy_port"
4、長連線支援
一般手機的長連線抓包是比較麻煩的,比如使用 root 然後 tcpdump,使用 wireshark 進行分析。 裡面的內容是又多又亂。
這裡直接使用 wireguard 模式
5、外掛支援
官方外掛: doc.mitmproxy
github 外掛:github
這裡我舉例幾個:
1、上文中提到的解密,例子為
contentview
當然,解密邏輯需要自己寫
2、ssl 握手失敗的問題,可以直接讓它透過,以免影響正常功能測試
check_ssl_pinning
3、 新增一個新的 option 選項,自定義功能
options-simple
4、 常見 sql 漏洞檢測
xss_scanner
綜合來說,拿到請求,是可以為所欲為的。比如我自己做的幾個外掛:
解密、api 文件生成、弱網路模擬、響應碼檢查等
五、常見問題
如何安裝第三方 python 包?
pipx inject mitmproxy <package-name>
如何解決安卓 7.0 後 ssl pin 的問題?
只提供思路,具體的可以查一下,也可以討論
方法一:官方文件-Certificate Pinning
方法二:使用安卓 7.0 以下裝置或模擬器
方法三:root+magisk
記憶體使用過大的問題?
1、使用定時指令碼重啟
2、使用-w 寫入檔案
[編輯中]
相關文章
- mitmproxy grpc 抓包MITRPC
- mitmproxy抓包工具MIT
- 從零開始學mitmproxy抓包工具MIT
- wireshark抓包之追蹤流
- 介面自動化之介面整理(抓包)
- Https抓包HTTP
- tcpdump抓包TCP
- iOS防止抓包iOS
- iOS Wireshark抓包iOS
- iOS Charles抓包iOS
- BLE抓包分析
- 談談HTTPS安全認證,抓包與反抓包策略HTTP
- https 真的安全嗎,可以抓包嗎,如何防止抓包嗎HTTP
- tshark 抓包 mysql 協議包MySql協議
- mitmproxyMIT
- wireshark抓包學習
- iperf測試抓包
- IPSEC隧道抓包分析
- Python 爬蟲、抓包Python爬蟲
- 前端抓包神器Charles前端
- APP抓包神器dronyAPP
- Charles 手機抓包
- Wireshark網路抓包
- Android https 抓包指南AndroidHTTP
- 測試必備工具之抓包神器 Charles 如何抓取 https 資料包?HTTP
- 通過抓包分析 HTTPSHTTP
- APP常用抓包技術APP
- charles 抓包 https 亂碼HTTP
- PC端抓包-.exe程式
- Android App 如何防止抓包AndroidAPP
- Fiddler抓包常用功能
- Fiddler移動端抓包
- wireshark抓包新手使用教程
- 如何使用Fiddler抓包操作?
- 手機抓包+注入黑科技HttpCanary——最強大的Android抓包注入工具HTTPPCAAndroid
- 你會抓包嗎?都有用過哪些抓包工具?
- Charles與Fiddler的愛恨情仇之讓抓包飛起來
- Charles抓包—App資源代理APP