用charles攔截android設備https,證書無效的解決方法

轉自:https://blog.csdn.net/kimicsdn/article/details/57089514

閱讀本文前您需要了解 
1.使用charles攔截https數據包,及其攔截的原理是替換ssl證書。
2.爲android設備設置請求代理

正文:

APP使用操作系統api發https請求時對證書的驗證一般是通過操作系統 自帶的證書驗證機制到CA服務器上檢查證書合法性,這樣就無法用charles來攔截https請求的數據了。
識別到證書不合法時客戶端會斷開連接。在APP上的表現就是請求失敗。用charles攔截數據包的結果就是下面這樣的

那麼要讓操作系統通過證書驗證需要修改操作系統的證書驗證功能,各種PC瀏覽器有自己的繞過證書配置的方法,那麼在android設備上如何解決這個問題呢?
在ROOT過的ANDROID上可以使用XPOSED的SSLUnpinng 插件來繞過證書驗證。
SSLUnpinng下載地址
http://dl-xda.xposed.info/modules/mobi.acpm.sslunpinning_v2_37f44f.apk

單擊某個程序就可以hook ssl證書。
再使用charles來攔截數據包就可以看到發送的請求了

安卓手機安裝charles安全證書

開發需要進行app抓包,所以搞了個charles,本小組人都用的蘋果手機,我用的安卓,哎(窮逼)。

charles需要安裝證書,否則手機端抓包會出現unknow。

 

本次安裝使用小米mix2爲例。

 

1.首先 設置好手機的charles代理

2.要使用 UC瀏覽器 訪問 http://charlesproxy.com/getssl (下載到一個你能找到的目錄,別下載完你找不到了)

3.系統設置→更多設置→系統安全→加密與憑據→從存儲設備安裝

4.OK OK OK OK了。

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