漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0176035
漏洞标题:傲游浏览器远程命令执行
相关厂商:傲游
漏洞作者: 多多关照
提交时间:2016-02-15 18:46
修复时间:2016-05-19 15:30
公开时间:2016-05-19 15:30
漏洞类型:远程代码执行
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2016-02-15: 细节已通知厂商并且等待厂商处理中
2016-02-19: 厂商已经确认,细节仅向厂商公开
2016-02-22: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2016-04-14: 细节向核心白帽子及相关领域专家公开
2016-04-24: 细节向普通白帽子公开
2016-05-04: 细节向实习白帽子公开
2016-05-19: 细节向公众公开
简要描述:
新年快乐
详细说明:
1. 首先是漏洞的背景,见 http://**.**.**.**/test/all/readme.htm
由于漏洞具体利用成因,我已经在 http://**.**.**.**/bugs/wooyun-2010-0175902 里详细描述,此处不再多说。
2. 这个小问题,会导致我们可以通过
通过 location.href="vbefile:/../../../已知路径/1.js" 的方式来调用
wscript.exe "vbefile:/../../../已知路径/1.js"
也就是让系统的wscript来执行一个脚本文件。
3. 这里采用浏览器的缓存机制来向本地写入恶意的缓存文件,再通过location.href="vbefile:/../../../缓存文件"的方式来执行恶意缓存文件。
首先是要得到缓存文件的路径:只要我们知道当前客户端用户名,就可以知道这个缓存目录的路径,
c:/Users/用户名/AppData/Local/Temp/Maxthon3Cache/Temp/Webkit/Cache
然后是缓存文件的文件名,文件名是在
f_000000 -> f_ffffff 范围内依次递增。
虽然 f_000000 -> f_ffffff 的范围看似很大,而实际上能被用到的范围却相对较小,本人常年在使用的chrome,cache目录里 f的最大值仅仅达到6万。
4. 因此,在我们知道用户名的情况下,我们可以首先创建恶意的缓存文件到Cache目录下,然后通过
location.href='vbefile:/../../../../../../../../../Users/用户名/AppData/Local/Temp/Maxthon3Cache/Temp/Webkit/Cache/缓存文件名" //E:jscript /B "';
来执行缓存文件里的恶意代码。
虽然我们并不知道缓存文件名,但是由于缓存文件名是递增的,这可以让我们进行暴力尝试执行。
具体见利用代码。
------------------------
如何得到用户名?
------------------------
1. 找到一个傲游的XSS,
傲游在新的版本,似乎加入了XSS的过滤功能? 不过这里还是可以绕过防护。
http://**.**.**.**/security/safe/?url=http://**.**.**.**/?%3Cimg/src=%221%22/onerror=location=location.hash.slice(1)//#javascript:alert(1);void/**/0;
2. 通过XSS,我们就可以获得Mx3data路径
从路径里,可以得到用户名
漏洞证明:
win7, 开启UAC 或 WIN XP均可, 傲游v**.**.**.**0,
漏洞前提:需浏览器默认安装到系统盘下,方可利用
使用傲游访问测试地址【见测试代码部分】
正在生成恶意缓存:
暴力执行恶意缓存:
修复方案:
1. 在浏览器调用外部协议时,弹出交互提示,让用户选择是否继续,并给予重复的“安全警告”。
2. 修复XSS
http://**.**.**.**/security/safe/?url=http://**.**.**.**/?%3Cimg/src=%221%22/onerror=location=location.hash.slice(1)//#javascript:alert(1);void/**/0;
版权声明:转载请注明来源 多多关照@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2016-02-19 15:21
厂商回复:
会在 4.9 修复
最新状态:
暂无