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

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

缺陷编号:wooyun-2015-090560

漏洞标题:魅族sso设计缺陷分析

相关厂商:魅族科技

漏洞作者: cmxz

提交时间:2015-01-08 12:09

修复时间:2015-02-14 18:00

公开时间:2015-02-14 18:00

漏洞类型:账户体系控制不严

危害等级:高

自评Rank:12

漏洞状态:厂商已经修复

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-08: 细节已通知厂商并且等待厂商处理中
2015-01-08: 厂商已经确认,细节仅向厂商公开
2015-01-18: 细节向核心白帽子及相关领域专家公开
2015-01-28: 细节向普通白帽子公开
2015-02-07: 细节向实习白帽子公开
2015-02-14: 厂商已经修复漏洞并主动公开,细节向公众公开

简要描述:

想要魅族2015年台历

详细说明:

魅族现在学习小米把产品论坛和系统论坛分开了,这就涉及到了统一登录,因此引发安全问题。
刚才大致走了一下统一登录,流程如下:
1.点击登录后进入https://member.meizu.com/sso?appuri=http%3A%2F%2Fbbs.meizu.cn%2Flogging.php&useruri=http%3A%2F%2Fbbs.meizu.cn%2F&sid=&service=bbs&autodirct=true
2.用户输入完用户名密码后提交用户名、密码、appuri等信息到https://member.meizu.com/sso/login
3. /sso/login会setcookie到meizu.com域下(全部都httponly,做的不错),接着会根据appuri跳转到http://bbs.meizu.cn/logging.php?token=特别长的token或者http://bbs.flyme.cn/login.php?token=特别长的token 处。
4. logging.php或者login.php再根据token来setcookie,最后再跳转到useruri处。
当第一步进入的url中appuri为appuri=http%3A%2F%2Fwww.baidu.com?bbs.meizu.cn%2Flogging.php 时,在第三步时会带着特别长的token跳转到www.baidu.com?bbs.meizu.cn%2Flogging.php处,拿着这个token请求logging.php或login.php就OK了
假如我给QQ群或微博之类的地方发一个https://member.meizu.com/sso?appuri=http%3A%2F%2Fmysite.com?bbs.meizu.cn%2Flogging.php&useruri=http%3A%2F%2Fbbs.meizu.cn%2F&sid=&service=bbs&autodirct=true 【短链接后效果更好】,其他用户点击后进入魅族官方的登录页面(https,域名是meizu.com),那么大部分人应该就输入用户名密码了。之后我在mysite.com的页面里直接302跳到魅族论坛【此时我已经拿到token了】,然后再带着token请求logging.php或login.php就可以拿到用户的cookie了,而且整个过程中用户基本没法发现异常。
另外,发现一个token可以请求多次。难道token不应该是生成随机字符串存入memcache/redis一次验证后就删除掉的吗?

漏洞证明:

mz2.png


截图是提交密码到sso/login后带着token跳转到mysite.com的证明

修复方案:

我不确定你们是对appuri没有任何验证还是只验证了是否有meizu.com/flyme.cn ,个人觉得跳转应该实行白名单机制【当然写出足够完善的正则也是可以的】
还有,不要以为你的token特别特别长就可以任性的不限制多次请求哟
最后修复了能不能送2个2015年魅族台历呀,觊觎它已经很久了,论坛活动又一直中不了T_T

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-01-08 12:40

厂商回复:

非常感谢您对魅族互联网的关注,您反馈的漏洞已第一时间反馈给开发人员进行修复!台历我们尽量帮您争取哈~

最新状态:

2015-02-14:已修复