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)

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值