APP開啓SSLPinning後導致不能抓包解決方案

什麼是SSLPinning?

SSL Pinning是一種防止中間人攻擊(MITM)的技術,主要機制是在客戶端發起請求–>收到服務器發來的證書進行校驗,如果收到的證書不被客戶端信任,就直接斷開連接不繼續求情。

所以在遇到對關鍵請求開啓SSL Pinning的APP時,我們抓包就只能看到APP上提示無法連接網絡或者請求失敗之類的提示;而在抓包工具上面,要麼就只能看到一排 CONNECT 請求,獲取到證書卻沒有後續了,要麼就是一些無關的請求,找不到想要的接口。

無法抓包的效果圖

在這裏插入圖片描述

產生原理

是這樣的,當我們使用抓包工具抓包時,抓包工具在攔截了服務端返回的內容並重新發給客戶端的時候使用證書不是服務器端原來的證書,而是抓包工具自己的,抓包工具原來的證書並不是APP開發者設定的服務端原本的證書,於是就構成了中間人攻擊,觸發SSL Pinning機制導致鏈接中斷,所以我們無法直接抓到包。

常見的開啓了SSL Pinning的APP大致分爲兩種操作:
1、服務端使用了某個權威證書頒發機構(CA)頒發的證書,並且在APP中校驗證書是否正常;
2、服務端使用了CA頒發的證書或者自己給自己頒發證書,並且在APP中校驗證書本身是否正常的,需要將證書與APP本體一同下發。有把證書混淆在代碼裏面藏起來的,也有直接放在資源目錄下的。

解決方案

1、直接使用低版本系統化的安卓手機(低於7.0)
2、使用Xposed或兼容Xposed的框架 + JustTrustMe
3、將抓包工具的證書直接安裝到系統根目錄中
4、VirtualXposed(VirtualAPP)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章