神刀安全网

漏洞标题: bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

漏洞详情

披露状态:

2016-03-26: 细节已通知厂商并且等待厂商处理中
2016-03-26: 厂商已经确认,细节仅向厂商公开
2016-04-05: 细节向核心白帽子及相关领域专家公开
2016-04-15: 细节向普通白帽子公开
2016-04-25: 细节向实习白帽子公开
2016-05-10: 细节向公众公开

简要描述:

bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

详细说明:

注:问题的源头是由于Gitlab开在外网上导致存于公开项目中的内部文档泄露,但该风险似乎已于近日被bilibili内部发现并修复(无法访问该私有Gitlab,80端口拒绝连接),本漏洞中是使用在其修复前获得的文档,根据其中获取到内网接口的地址和参数再配合不当设计或意外暴露于外网的内网接口完成

根据之前bilibili的源代码泄露漏洞( WooYun: bilibili某站git服务配置不当,造成信息泄露

可以得知其git服务使用域名syncsvn.bilibili.co,该域名解析到内网

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

同时发现类似的sync.bilibili.co域名指向外网,并且其上部署有Gitlab(在提交这个漏洞的时间点其80端口已拒绝链接,但如果把ip地址放到zoomeye上去查还是可以发现之前部署的是Gitlab)

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

虽然不知道Gitlab的账户但公开项目还是可以看的,主要是一些文档和一些前端项目,其中一些文档包含敏感内容泄露了内部使用的接口

其实问题到这里还不严重,单单泄露接口地址和使用方法还不足以造成威胁,因为毕竟接口在设计上还是有鉴权的,但问题处在某接口的实际实现上并没有像文档上所述那样的有鉴权,也许是因为是内网接口意外暴露在外网环境下的原因

根据泄露的文档“【内部】API接口使用手册.doc”

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

其中本是有签名的要求的,不知是否是因为设计上是内网接口所以就没有实现

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

其中有一个接口“登陆到指定用户控制面板”

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

抱着试试看的心态尝试了一下

code 区域
http://passport.bilibili.com/intranet/acc/login?mid=1

居然正常返回数据了(我整个人都懵逼了

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

颤抖着把授权url复制到地址栏

bingo

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

漏洞证明:

登录站长帐号

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

漏洞标题:  bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

修复方案:

1、Gitlab不要给普通用户开放建立公开项目的权限

2、Gitlab无特殊需要不要开在外网(至少Web不要)

3、内部接口要限制在内网访问

4、就算是内网接口也要鉴权哪怕是比较简单的,总比没有要好

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

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 漏洞标题: bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址