場景介紹:APP抓包
引出的知識點:ssl-pinning。
ssl-pinning:
apk在開發時就將服務端證書一塊打包到客戶端里。這樣在HTTPS建立時與服務端返回的證書比對一致性,進而識別出中間人攻擊后直接在客戶端側中止連接。
解決原理:
客戶端不是會做兩個證書間的一次性校驗嗎,那么就通過hook的方式將此次校驗的結果返回true或者干脆不讓其做校驗。當然這種做法只能在越獄環境下實現,但對於抓包來說,這已經足夠了。
方案:
Xposed+JustTrustMe+Android模擬器
步驟:
環境基於夜神安卓模擬器
1. 安裝Xposed框架
安裝apk后,框架>安裝/更新,安裝過程需要root權限,完成后重啟
2. 安裝JustTrustMe.apk
3. 打開Xposed模塊選項勾選JustTrustMe
4.配置wifi代理即可
至此,可以開心的抓包了。
困難二:
爬蟲簽名sign,基本規則都是組裝字符串,然后md5加密
分為網頁版和app版,
網頁版解決方案尋找js代碼找到加密規則,
app端則反編譯得到源碼,源碼閱讀難度其實不大邏輯大多相似,反而反編譯加固的app步驟較為繁瑣。