文章目录
  1. 1. 什么是SSL pinning
  2. 2. JustTrustMe
  3. 3. 参考资料

什么是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

文章目录
  1. 1. 什么是SSL pinning
  2. 2. JustTrustMe
  3. 3. 参考资料