SSL Pinning(ssl证书绑定)

HTTPS的原理你必然懂,在建立ssl通道的过程中,当客户端向服务端发送了连接请求后,服务器会发送自己的证书(包括公钥、证书有效期、服务器信息等)给客户端,如果客户端是普通的浏览器,比如IE浏览器,则:

  1. 使用内置的CA证书去校验服务器证书是否被信任,如果不被信任,则会弹出https的告警提示信息,由用户自己决定是否要继续.
  2. 同样,用户也可以主动的将服务器证书导入到浏览器的受信任区,下次打开时该服务器证书将会自动被信任.

对于APP,开发者可以先将自己服务器的证书打包内置到自己的APP中,或者将证书签名内置到APP中,当客户端在请求服务器建立连接期间收到服务器证书后,先使用内置的证书信息校验一下服务器证书是否合法,如果不合法,直接断开。

SSL Pinning:通过预先把服务器的证书信息“绑定“在APP的native端,然后建立连接时使用预先内置的绑定信息进行服务器证书校验

JustTrustMe

image-20250318162106131

JustTrustMe 是一个用来禁用、绕过 SSL 证书检查的基于 Xposed 模块。

JustTrustMe 是将 APK 中所有用于校验 SSL 证书的 API 都进行了 Hook,从而绕过证书检查。

所以有的框架JustTrustMe也不能绕过,需要渗透人员手动Frida Hook绕过

2025-03-18

⬆︎TOP