Android HTTPS安全漏洞分析
来源:互联网 发布:老王风生水起淘宝假货 编辑:程序博客网 时间:2024/05/19 16:38
在开发中,涉及敏感信息的传输我们都会使用HTTPS协议来和服务端进行安全的通信,但如果在实现时对HTTPS相关的API没有全面的掌握,导致代码编写中出现很多安全漏洞,其中以数字证书的使用最为典型,从而导致中间人攻击。
漏洞的形式主要有如下三种:
- 1.自定义X509TrustManager未实现安全校验
- 2.自定义HostnameVerifier默认接受所有域名
- 3.SSLSocketFactory信任所有证书
1.自定义X509TrustManager未实现安全校验
使用HttpURLConnection发起HTTPS请求时,需要提供一个自定义的X509TrustManager。如果实现不当,可能引入安全问题,如下所示是存在风险的代码。
import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.X509TrustManager;public class HxHTTPSTrustManager implements X509TrustManager { @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { //默认接受任意的客户端证书 } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { //默认接受任意的服务端证书 } @Override public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }}
Android系统的共享证书机制规定,如果目标URL服务器下发的证书不在已信任证书列表中,或者该证书不是权威机构颁发的而是自签名的,那么会出现SSLHandshakeException异常。正确的做法应该是提供与服务器对应的证书,并进行校验,语句如下。
未完。。。。
0 0
- Android HTTPS安全漏洞分析
- Web安全漏洞全面分析
- Jsonp常见安全漏洞分析
- Android 安全漏洞之文件系统
- Android WebView 安全漏洞
- Android WebView 安全漏洞解决方案
- 企业即时通讯工具安全漏洞分析
- 对Extmail安全漏洞的分析
- 区块链开源安全漏洞分析报告
- 安全漏洞
- 安全漏洞
- 安全漏洞
- 安全漏洞
- HTTPS分析
- https分析
- Https 分析
- *printf()格式化串安全漏洞分析(上)
- *printf()格式化串安全漏洞分析(下)
- Nginx开发从入门到精通
- git实战教程3-基本用法(下)
- 整理:RAC搭建过程 201
- Unity3D(六)背包系统
- 基于Spring的新浪微博第三方登录实现
- Android HTTPS安全漏洞分析
- Java面向对象设计模式(二十一)——访问者模式(Visitor)
- 机器学习基石笔记8——为什么机器可以学习(4)
- Sum—LeetCode-15 3Sum
- 太阳能与共享单车走向世界
- C++Primer第5版读书笔记(第15章)
- spring data jpa 的配置
- web应用获取客户端真实ip
- UI Automator(Android自动化测试)全面学习笔记