漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0124949
漏洞标题:fanwe O2O用户密码可劫持(通用/开源软件jsonp劫持案例)
相关厂商:fanwe.com
漏洞作者: phith0n
提交时间:2015-07-06 17:52
修复时间:2015-10-05 10:14
公开时间:2015-10-05 10:14
漏洞类型:敏感信息泄露
危害等级:高
自评Rank:12
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-07-06: 细节已通知厂商并且等待厂商处理中
2015-07-07: 厂商已经确认,细节仅向厂商公开
2015-07-10: 细节向第三方安全合作伙伴开放
2015-08-31: 细节向核心白帽子及相关领域专家公开
2015-09-10: 细节向普通白帽子公开
2015-09-20: 细节向实习白帽子公开
2015-10-05: 细节向公众公开
简要描述:
TSRC西安沙龙议题之Fanwe o2o。(通用/开源应用中的jsonp劫持案例)
详细说明:
/mapi/Lib/core/common.php中有 fanwe o2o的output函数:
这是一个通用的输出函数,所有/mpai下的输出全部由output输出。
我们可以看到,这里当$_REQUEST['r_type']==3的时候,输出格式为jsonp。
所以,如果$data中有敏感信息,即会造成jsonp劫持。
结果当前函数中就存在一个敏感信息:sess_id
$data['sess_id'] = $GLOBALS['sess_id'];
用户登陆后(fanwe o2o 默认用户账号密码都是fanwe,以这个用户为例),可劫持用户的session(http://o2odemo.fanwe.net/mapi/index.php?ctl=syncbind&act=index&login_type=Sina&access_token=ooooo&sina_id=ooooo&r_type=3&callback=wooyun):
继续深挖,刚才访问的这个URL(http://o2odemo.fanwe.net/mapi/index.php?ctl=syncbind&act=index&login_type=Sina&access_token=ooooo&sina_id=ooooo&r_type=3&callback=wooyun),实际上就是将账户fanwe绑定了sina_id为ooooo。
那么另外一处,我们可以直接用ooooo进行登录:
http://o2odemo.fanwe.net/mapi/index.php?ctl=synclogin&act=index&login_type=Sina&sina_id=ooooo&access_token=ooooo&r_type=3&callback=wooyun
如上图,可以直接劫持用户密码。
写了个POC证明问题。受害者登录http://o2odemo.fanwe.net,再访问该POC即会弹出他的账号、邮箱、密码:
http://mhz.pw/game/tx/fanweo2o.html
漏洞证明:
修复方案:
敏感信息不要输出。
版权声明:转载请注明来源 phith0n@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2015-07-07 10:12
厂商回复:
已确认,但该漏洞主要在首次需要得到用户的帐号密码做首次登录,或者通过其他途径(如病毒)得到其他用户http传输中的隐私信息才可对他人用户身份进行劫持。因此风险较低,后续我们会改善手机接口的传输加密。
最新状态:
暂无