1 前言
這篇文章主要想解決的問題是,在對安卓手機APP抓包時,出現的HTTPS報文通過MITM代理后證書不被信任的問題。(工作中在抓取12306請求時就遇到了這個問題)
之前的推送講過,通常要抓取HTTPS加密的數據包,一般使用Charles或者Fiddler4代理HTTP請求,配置證書信任后,便可拿到明文報文。但是由於Charles證書和Fiddler證書並非證書機構頒發的目標站點的合法證書,所以會不被信任。同樣的道理,之前說過的神器Packet Capture也存在該問題。
對使用Charles等工具進行中間人代理抓取HTTPS請求不會的請看之前的推送:
閱讀下文來解決這個問題。
2 解決方案
要解決這個問題要使用的工具是:Xposed+JustTrustMe
(安卓手機需要Root,該方法有手機變磚風險,建議在模擬器下操作)
XposedInstaller(xposed框架)是一款可以在不修改APK的情況下影響程序運行(修改系統)的框架服務,基於它可以制作出許多功能強大的模塊,且在功能不沖突的情況下同時運作。
JustTrustMe是Github上的一個開源工程,他是一個Xposed模塊,用來禁止SSL證書驗證。以下是其簡介。
JustTrustMe:An xposed module that disables SSL certificate checking. This is useful for auditing an appplication which does certificate pinning.
Xposed安裝器下載地址
安卓5.0版本以下下載地址:https://pan.baidu.com/s/1dEToAvJ 密碼:uiu8
安卓5.0版本以上下載地址:https://files.cnblogs.com/files/pingming/xposedinstaller.apk
JustTrustMe Relese版本下載地址:https://files.cnblogs.com/files/pingming/JustTrustMe.apk github:https://github.com/Fuzion24/JustTrustMe/releases
以下是安裝步驟:
1 安裝Xposed安裝器

2 安裝Xposed框架


安裝過程需要Root權限,完成后重啟。
3 安裝JustTrustMe
4 安裝完成后打開模塊選項

勾選JustTrustMe,重啟即可。
至此,完成配置,再加上之前的Charles或者Fiddler4的HTTPS配置,就能抓取HTTPS請求了。
3 最后
最后再強調一次,安裝Xposed是有風險的,請盡量在模擬器中操作。
文中的Xposed下載鏈接主要是針對於安卓5.0以下的機器,是在夜神模擬器安卓4.4版本測試通過,其他版本使用大同小異,請自行查找合適版本安裝使用。