fanwe O2O用户密码可劫持(通用/开源软件jsonp劫持案例)

漏洞概要

缺陷编号:WooYun-2015-0124949

漏洞标题:fanwe O2O用户密码可劫持(通用/开源软件jsonp劫持案例)

相关厂商:fanwe.com

漏洞作者:phith0n

提交时间:2015-07-06 17:52

公开时间:2015-10-05 10:14

漏洞类型:敏感信息泄露

危害等级:高

自评Rank:12

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

2015-07-06: 细节已通知厂商并且等待厂商处理中
2015-07-07: 厂商已经确认,细节仅向厂商公开
2015-07-10: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-08-31: 细节向核心白帽子及相关领域专家公开
2015-09-10: 细节向普通白帽子公开
2015-09-20: 细节向实习白帽子公开
2015-10-05: 细节向公众公开

简要描述:

TSRC西安沙龙议题之Fanweo2o。(通用/开源应用中的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://**.**.**.**/mapi/index.php?ctl=syncbind&act=index&login_type=Sina&access_token=ooooo&sina_id=ooooo&r_type=3&callback=wooyun):

继续深挖,刚才访问的这个URL(http://**.**.**.**/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://**.**.**.**/mapi/index.php?ctl=synclogin&act=index&login_type=Sina&sina_id=ooooo&access_token=ooooo&r_type=3&callback=wooyun

如上图,可以直接劫持用户密码。写了个POC证明问题。受害者登录http://**.**.**.**,再访问该POC即会弹出他的账号、邮箱、密码:http://mhz.pw/game/tx/fanweo2o.html

漏洞证明:

http://mhz.pw/game/tx/fanweo2o.html

修复方案:

敏感信息不要输出。

漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-07-0710:12

厂商回复:

已确认,但该漏洞主要在首次需要得到用户的帐号密码做首次登录,或者通过其他途径(如病毒)得到其他用户http传输中的隐私信息才可对他人用户身份进行劫持。因此风险较低,后续我们会改善手机接口的传输加密。

最新状态:

暂无

评价

  1. 2010-01-01 00:00 紫霞仙子 白帽子 | Rank:885 漏洞数:70)

    沙发

  2. 2010-01-01 00:00 疯狗 白帽子 | Rank:22 漏洞数:2)

    好案例,jsonp的基本都是黑箱的,终于有个百盒的

  3. 2010-01-01 00:00 myhalo 白帽子 | Rank:241 漏洞数:22)

    关注

  4. 2010-01-01 00:00 px1624 白帽子 | Rank:963 漏洞数:126)

    这次选 通用型 了没

  5. 2010-01-01 00:00 phith0n 白帽子 | Rank:644 漏洞数:62)

    @px1624 选了>.<

  6. 2010-01-01 00:00 phith0n 白帽子 | Rank:644 漏洞数:62)

    @fanwe.com
    不用得到用户账号密码做首次登陆,只要让用户访问我的POC即可。看来官方还是不了解jsonp的危害呀。。。

  7. 2010-01-01 00:00 魔鬼的步伐 白帽子 | Rank:35 漏洞数:3)

    给个中等可以了,需要交互,变相的csrf 么,不过官方的回复貌似没有搞懂这个原理

  8. 2010-01-01 00:00 BeenQuiver 白帽子 | Rank:50 漏洞数:6)

    好好好哇

  9. 2010-01-01 00:00 苏安泽 白帽子 | Rank:55 漏洞数:4)

    @魔鬼的步伐 @phith0n
    都是这样的,:厂商回应:

    危害等级:中

    漏洞Rank:5

    确认的漏洞全部都是一样的,CSRF提交了也不修复,说是需要用户登陆才行的什么什么的,然而就阔大危害提交了》。。

  10. 2010-01-01 00:00 phith0n 白帽子 | Rank:644 漏洞数:62)

    @苏安泽 @魔鬼的步伐 这个和csrf有本质区别,试问csrf可以获取用户密码么?危害程度完全不一样~