首页 > 菜鸟学院 > Android HTTPS中间人劫持漏洞浅析

Android HTTPS中间人劫持漏洞浅析

时间:2015-03-19 | 来源:互联网 | 阅读:170

话题: 漏洞

4.Android HTTPS中间人攻击漏洞证明

1) 客户端不校验SSL证书(包含签名CA是否合法、域名是否匹配、是否自签名证书、证书是否过期)包含以下几种编码错误情况:

a. 自实现的不校验证书的X509TrustManager接口的Java代码片段 (其中的checkServerTrusted()方法实现为空,即不检查服务器是否可信):

b. 不检查站点域名与站点证书的域名是否匹配的Java代码片段:

c. 接受任意域名的Java代码片段:

SSLSocketFactory sf; …… sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

2)针对某个不校验SSL证书的客户端进行中间人攻击演示如下图所示,可通过中间人劫持获取到登录用户名和密码(该密码参数只是对明文密码进行了一次MD5):

修复建议

对SSL证书进行强校验


出于安全考虑,建议对SSL证书进行强校验(签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等),详细修复方案请参照Google官方关于SSL的安全建议。


湘ICP备2022002427号-10湘公网安备:43070202000427号
© 2013~2019 haote.com 好特网