android https正确调用方案(防中间人劫持)
2015-11-17 12:42
387 查看
以下内容为原创,欢迎转载,转载请注明
来自博客园:http://www.cnblogs.com/joey-hua/p/4971380.html
1.劫持https接口
很多android客户端虽然使用了https,但还是能被第三方抓包工具如fiddler劫持,因为他们的代码使用了诸如ALLOW_ALL_HOSTNAME_VERIFIER之类的方式允许任何证书。这样的话可以使用fiddler自带的证书伪装服务端证书来获取到中间通讯的数据。使用方法关键步骤:
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117122715108-1586706096.png)
下图是劫持的工商银行安卓版app数据:
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117123451561-1738095517.png)
红框的是工行的接口,蓝色文字表示抓到数据,具体数据就不发了,是我自己的账号。绿色框的是我自己的服务端的接口,因为做了处理所以没有被抓显示的是灰色文字。上图必须要用伪装证书,否则直接抓取同一个接口也抓不到的。
2.解决方案
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117124004702-1884845163.png)
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117124013843-490689556.png)
【文档下载】
来自博客园:http://www.cnblogs.com/joey-hua/p/4971380.html
1.劫持https接口
很多android客户端虽然使用了https,但还是能被第三方抓包工具如fiddler劫持,因为他们的代码使用了诸如ALLOW_ALL_HOSTNAME_VERIFIER之类的方式允许任何证书。这样的话可以使用fiddler自带的证书伪装服务端证书来获取到中间通讯的数据。使用方法关键步骤:
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117122715108-1586706096.png)
下图是劫持的工商银行安卓版app数据:
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117123451561-1738095517.png)
红框的是工行的接口,蓝色文字表示抓到数据,具体数据就不发了,是我自己的账号。绿色框的是我自己的服务端的接口,因为做了处理所以没有被抓显示的是灰色文字。上图必须要用伪装证书,否则直接抓取同一个接口也抓不到的。
2.解决方案
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117124004702-1884845163.png)
![](http://images2015.cnblogs.com/blog/790694/201511/790694-20151117124013843-490689556.png)
【文档下载】
相关文章推荐
- FastJson和AsyncHttpCLient
- 安卓SDK下载国内镜像网站 http://gmirror.org/#android-sdk-tools-only
- 《神经网络和深度学习》系列文章十三:反向传播背后的四个基本等式
- 《神经网络和深度学习》系列文章十二:Hadamard积,s⊙t
- 《神经网络和深度学习》系列文章十一:关于损失函数的两个假设
- 《神经网络和深度学习》系列文章十:[热身]一个基于矩阵的快速计算神经网络输出的方法
- 《神经网络和深度学习》系列文章九:反向传播算法是如何工作的
- 《神经网络和深度学习》系列文章八:迈向深度学习
- 《神经网络和深度学习》系列文章七:实现我们的神经网络来分类数字(下)
- 《神经网络和深度学习》系列文章七:实现我们的神经网络来分类数字(上)
- 《神经网络和深度学习》系列文章六:通过梯度下降法学习参数
- 《神经网络和深度学习》系列文章五:用简单的网络结构解决手写数字识别
- 《神经网络和深度学习》系列文章四:神经网络的结构
- 《神经网络和深度学习》系列文章三:sigmoid神经元
- 《神经网络和深度学习》系列文章二:感知机
- 《神经网络和深度学习》系列文章一:使用神经网络识别手写数字
- 关于Socket理解
- AlertDialog对话框自定义大小,加载网络请求,点击不消失
- Linux服务器上安装使用TCPCopy来获取用户访问流量
- 【Ajax 2】封装Ajax的核心对象:XMLHttpRequest对象