Android静态安全检测 -> 主机名弱校验
主机名弱校验 -HostnameVerifier.verify方法1. API继承关系javax.net.ssl.HostnameVerifierpublic interface HostnameVerifier主要方法verify(String hostname, SSLSession
·
主机名弱校验 - HostnameVerifier.verify方法
一、API
1. 继承关系
【1】javax.net.ssl.HostnameVerifier
【2】public interface HostnameVerifier
2. 主要方法
【1】verify(String hostname, SSLSession session)
校验服务器主机名
【2】参考链接
https://developer.android.com/reference/javax/net/ssl/HostnameVerifier.html
3. 示例
【1】verify方法,接受任意域名服务器
【2】参考链接
http://pingguohe.net/2016/02/26/Android-App-secure-ssl.html
二、触发条件
1. 自定义实现HostnameVerifier
【1】对应到smali语句中的特征
.implements Ljavax/net/ssl/HostnameVerifier;
2. verify方法中的语句
【1】定位verify方法
.method public verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
【2】verify方法内的语句判断
const v0, 0x1
return v0
3. 漏洞代码示例
三、漏洞原理
【1】自定义实现的HostnameVerifier子类中,未对主机名做验证,默认接受所有域名,会存在安全风险,可能会导致恶意程序利用中间人攻击绕过主机名校验
【2】更多内容
http://pingguohe.net/2016/02/26/Android-App-secure-ssl.html
http://www.droidsec.cn/android-https中间人劫持漏洞浅析/
https://jaq.alibaba.com/community/art/show?spm=a313e.7975615.40002100.4.1ooXUl&articleid=60
四、修复建议
【1】利用HostnameVerifier子类中的verify函数,校验服务器主机名的合法性
点击阅读全文
更多推荐
7日热学榜
活动日历
查看更多
活动时间 2025-01-01 00:00:00

丁奇:MySQL高频面试题详解
活动时间 2025-01-01 00:00:00

AI 大模型应用开发 · 实战营
活动时间 2025-01-01 00:00:00

AI系列课程-IT全学科自学科
活动时间 2025-01-01 00:00:00

3 小时掌握 Prompt 核心技巧与 GPT 技术理论
活动时间 2025-01-01 00:00:00

0基础2个月拿下软考高级证书体验课
目录
所有评论(0)