漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0108721
漏洞标题:Coding平台未限制数据库跨应用访问+某方式泄漏密码
相关厂商:coding.net
漏洞作者: iLtc
提交时间:2015-04-19 11:35
修复时间:2015-04-19 12:45
公开时间:2015-04-19 12:45
漏洞类型:未授权访问/权限绕过
危害等级:中
自评Rank:7
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-04-19: 细节已通知厂商并且等待厂商处理中
2015-04-19: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
Coding 平台演示功能为每个应用提供了数据库服务,但是该服务没有限制跨应用访问,获得其他应用的数据库用户名和密码后可以直接访问。
详细说明:
Coding 平台演示功能为每个应用提供了数据库服务,但是该服务没有限制跨应用访问,获得其他应用的数据库用户名和密码后可以直接访问。
同时根据演示平台的说明,数据库的信息是被写进环境变量的,当应用意外的输出了环境变量以后,即可轻易的拿到数据库用户名和密码。
我们找到一个恰好出错显示出了这些信息的应用来演示。
页面地址 http://joshell.coding.io/joshell ,打开页面以后看到的是 NotFoundHttpException错误 ,下面显示出了环境变量,我们很容易的找到了数据库信息(以下只展示了MySQL的部分信息,Redis部分全部省略):
从中我们不难看出,MySQL 数据库的连接信息是:
数据库地址:10.9.1.***
用户名:qzgIlkpXmNtrwYW3
密码:EZvyGidCWMg***
接下来我们自己建一个应用,上传 phpMyAdmin 的代码,注意在 phpMyAdmin 的配置文件中将数据库地址设为 10.9.1.*** ,也就是:
上传代码,启用演示功能,再部署代码到演示平台,打开演示平台测试效果,输入用户名和密码,成功登陆:
打开一个数据库,可以看到各种数据表:
打开一个数据表,可以看到一些明文存放的用户数据:
漏洞证明:
修复方案:
要求用户的所有应用都都不泄露环境变量是不太现实的,但是像一些 PaaS 平台那样禁止跨应用访问应该还是可以做到的吧?
版权声明:转载请注明来源 iLtc@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2015-04-19 12:45
厂商回复:
感谢您对 安全的关注, 由于演示平台产品定位是非生产环境
1) 跨应用数据库访问是默认允许的。
2) 显示ENV信息一般是用户打开了DEBUG模式,这个我们会对用户进行更好的说明
最新状态:
暂无