漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2016-0189225
漏洞标题:bilibili某内部接口设计不当可根据会员id任意登录(内部API文档泄露)
相关厂商:bilibili.com
漏洞作者: 端端
提交时间:2016-03-26 09:17
修复时间:2016-05-10 09:51
公开时间:2016-05-10 09:51
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
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,该域名解析到内网
同时发现类似的sync.bilibili.co域名指向外网,并且其上部署有Gitlab(在提交这个漏洞的时间点其80端口已拒绝链接,但如果把ip地址放到zoomeye上去查还是可以发现之前部署的是Gitlab)
虽然不知道Gitlab的账户但公开项目还是可以看的,主要是一些文档和一些前端项目,其中一些文档包含敏感内容泄露了内部使用的接口
其实问题到这里还不严重,单单泄露接口地址和使用方法还不足以造成威胁,因为毕竟接口在设计上还是有鉴权的,但问题处在某接口的实际实现上并没有像文档上所述那样的有鉴权,也许是因为是内网接口意外暴露在外网环境下的原因
根据泄露的文档“【内部】API接口使用手册.doc”
其中本是有签名的要求的,不知是否是因为设计上是内网接口所以就没有实现
其中有一个接口“登陆到指定用户控制面板”
抱着试试看的心态尝试了一下
居然正常返回数据了(我整个人都懵逼了
颤抖着把授权url复制到地址栏
bingo
漏洞证明:
修复方案:
1、Gitlab不要给普通用户开放建立公开项目的权限
2、Gitlab无特殊需要不要开在外网(至少Web不要)
3、内部接口要限制在内网访问
4、就算是内网接口也要鉴权哪怕是比较简单的,总比没有要好
版权声明:转载请注明来源 端端@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:12
确认时间:2016-03-26 09:51
厂商回复:
我都想要的内部API文档居然这么容易拿到了..快..发我一份~
最新状态:
暂无