CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 百科
  3. 正文

https 漏洞

2017年5月22日 841点热度 0人点赞 0条评论
  • 首页
  • 分类阅读
  • 文库
  • 专栏
  • 公开课
  • 商城
  • 漏洞盒子
注册 | 登录
投稿

Android HTTPS中间人劫持漏洞浅析

Jason_HZ2015-03-19共306053人围观 ,发现 7 个不明物体终端安全

Android HTTPS中间人劫持漏洞描述

在密码学和计算机安全领域中,中间人攻击 ( Man-in-the-middle attack,通常缩写为MITM )是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。

Android HTTPS中间人攻击漏洞源于:

1. 没有对SSL证书进行校验;
2. 没有对域名进行校验;
3. 证书颁发机构(Certification Authority)被攻击导致私钥泄露等。攻击者可通过中间人攻击,盗取账户密码明文、聊天内容、通讯地址、电话号码以及信用卡支付信息等敏感信息,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制、恶意扣费等攻击意图。

在各大漏洞平台上,有大量存在HTTPS证书不校验漏洞,例如国内绝大部分Android APP存在信任所有证书漏洞、亚马逊最新官方Android版存在一处信任所有证书漏洞、Yahoo雅虎在国内访问遭遇SSL中间人攻击、携程旅游网最新Android客户端https未校验证书导致https通信内容完全被捕获。

影响范围

Android系统

漏洞分析

1)中间人攻击漏洞位置:

X509TrustManager 、HostnameVerifier 、 setHostnameVerifier (X509HostnameVerifier hostnameVerifier)

2) 漏洞触发前提条件:

自定义的X509TrustManager不校验证书;
或实现的自定义HostnameVerifier不校验域名接受任意域名;
或使用setHostnameVerifier (ALLOW_ALL_HOSTNAME_VERIFIER);

3) 漏洞原理:

由于客户端没有校验服务端的证书,因此攻击者就能与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。

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的安全建议。

[消息来源:阿里聚安全常见漏洞介绍,POC 以及解决方案系列, 转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]

Jason_HZ

Jason_HZ6 篇文章等级: 3级
|
|
  • 上一篇:小心盗窃黑科技:ATM Skimmers配合隐形摄像头获取提款密码和银行卡信息
  • 下一篇:FireEye:11.2%的移动APP仍存在FREAK漏洞
发表评论

已有 7 条评论

  • JuncoJet (3级) 2015-03-19回复1楼

    要Fiddler的话估计所有平台都躺枪吧

    亮了(0)
    • 0SeX0 2015-03-19回复

      @ JuncoJet  fiddler只是演示一下而已

      亮了(0)
    • 残盾 (1级) 2015-03-20回复

      @ JuncoJet  请问楼主,能不能通过另一种方式实现中间人攻击:在证书颁发机构的颁发给终端的证书文件里,颁发机构所识别身份验证部分和终端识别身份验证的部分不同。通过拦截证书颁发机构颁发给终端的证书,修改该身份识别信息,将证书修改,进而实现中间人攻击。(说的可能有点乱,一级的小白,请大神指点一下下。 :roll: )

      亮了(0)
  • 水波摇曳 (3级) 2015-03-19回复2楼

    额 醉了..
    你这码打的跟没有图有啥区别啊..哥哥

    亮了(4)
  • yege0201 (3级) 2015-03-19回复3楼

    我见过直接用socket协议传输的客户端,然后数据都用证书加密了,Wireshark拦截的数据包全是且仅是TCP的,数据都是密文(我以前自己写的未加密socket传输,Wireshark嗅探后能看到明文),这个能够进行中间人吗?求高手指点一二

    亮了(0)
  • 0SeX0 2015-03-24回复4楼

    @ 残盾  如果本地客户端进行强校验整个证书链,是无法进行中间人攻击的

    亮了(0)
  • huangtao (1级) 2016-07-22回复5楼

    能不能嗅探啊 这个拦截栏的是自己发的请求啊

    亮了(0)

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

Jason_HZ

Jason_HZ

阿里巴巴移动安全

6 篇文章1 条评论

相关阅读

  • 人机接口工具Kautilya:渗透测试的好帮手
  • 索尼PS4安全现状分析
  • 技术分析:“厄运cookie”漏洞(CVE-2014-9222)解密
  • 迄今为止最为复杂的PoS系统恶意软件PoSeidon
  • 玩爆EDUP智能插座(Part3)

特别推荐

关注我们 分享每日精选文章

不容错过

  • 漏洞盒子:苏宁项目榜单公布,iPhone6花落谁家FB客服2014-10-10
  • 挖洞经验|看我如何挖到了一个价值5K刀的谷歌“404页面”Alpha_h4ck2017-05-22
  • 安全预警:ImageMagick图象处理软件存在远程代码执行(CVE-2016-3714)watcher2016-05-05
  • 【FB TV】一周「BUF大事件」:利用Mirai僵尸网络企图关闭国家网络;可自己发明加密算法的AI;Gmail被发现存高危漏洞supercoco2016-11-12

FREEBUF

  • 免责声明
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2013 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0day

标签: 暂无
最后更新:2017年5月22日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me