利用xposed绕过安卓SSL证书的强校验
2016-03-06 17:54
260 查看
什么是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/
相关文章推荐
- 【转】求质数算法的N种境界
- 【CodeVS1056】圆内三角形统计
- 支付漏洞总结 / 在线支付流程安全分析
- redis主从集群搭建及容灾部署(哨兵sentinel)
- 当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?
- 构建之法阅读笔记01
- 随机生成30道100以内的四则运算题
- OpenGL绘制一个点、线、多边形
- Netty4.0学习笔记系列之一:Server与Client的通讯
- Android的错误
- 自动生成30道小学四则运算题目的程序
- 第一周学习进度表
- 认识UART接口
- 使用handler对web service进行访问的认证实现
- 深搜格式
- Apple Pay的学习
- php正则表达式 获取开始字符串和结束字符串中的部分内容
- 《Linux内核分析》第二周学习小结 操作系统是如何工作的?
- Gulp and Grunt
- javascript机制致错