利用xposed绕过安卓SSL证书的强校验
什么是SSL pinning
https協議驗證服務器身份的方式通常有三種,一是根據瀏覽器或者說操作系統(Android)自帶的證書鏈;二是使用自簽名證書;三是自簽名證書加上SSL Pinning特性。第一種需要到知名證書機構購買證書,需要一定預算。第二種多見于內網使用。第三種在是安全性最高的,但是需要瀏覽器插件或客戶端使用了SSL Pinning特性。
Android應用程序在使用https協議時也使用類似的3種方式驗證服務器身份,分別是系統證書庫、自帶證書庫、自帶證書庫 + SSL Pinning特性。
所以SSL Pinning,即SSL證書綁定,是驗證服務器身份的一種方式,是在https協議建立通信時增加的代碼邏輯,它通過自己的方式驗證服務器身份,然后決定通信是否繼續下去。它唯一指定了服務器的身份,所以安全性較高。
JustTrustMe
當客戶端使用了SSL pinning的時候,手機導入burpsuite證書的方式也無法抓到通信包。除了修改apk驗證證書邏輯重新打包的方式外,最簡單的方法是使用xposed相關模塊。
xposed安裝方法:
下載xposed安裝包
安裝xposed框架到手機:
adb install <xposed-installer-you-just-downloaded>.apk安裝并啟用justtrustme模塊
重啟手機就可以抓到之前抓不到的https通信了。
參考資料
http://www.nsfocus.com.cn/upload/contents/2015/07/2015_07241353337959.pdf
原文地址:?http://xdxd.love/2015/12/30/%E5%88%A9%E7%94%A8xposed%E7%BB%95%E8%BF%87%E5%AE%89%E5%8D%93SSL%E8%AF%81%E4%B9%A6%E7%9A%84%E5%BC%BA%E6%A0%A1%E9%AA%8C/
總結
以上是生活随笔為你收集整理的利用xposed绕过安卓SSL证书的强校验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Hook (2) Jav
- 下一篇: Xposed如何实现类中函数的调用