当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(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标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-19: 细节已通知厂商并且等待厂商处理中
2015-04-19: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

Coding 平台演示功能为每个应用提供了数据库服务,但是该服务没有限制跨应用访问,获得其他应用的数据库用户名和密码后可以直接访问。

详细说明:

Coding 平台演示功能为每个应用提供了数据库服务,但是该服务没有限制跨应用访问,获得其他应用的数据库用户名和密码后可以直接访问。
同时根据演示平台的说明,数据库的信息是被写进环境变量的,当应用意外的输出了环境变量以后,即可轻易的拿到数据库用户名和密码。
我们找到一个恰好出错显示出了这些信息的应用来演示。
页面地址 http://joshell.coding.io/joshell ,打开页面以后看到的是 NotFoundHttpException错误 ,下面显示出了环境变量,我们很容易的找到了数据库信息(以下只展示了MySQL的部分信息,Redis部分全部省略):

{"mysql":[{"name":"commy-mysql","label":"mysql","tags":["mysql"],"plan":"default","credentials":{"hostname":"10.9.1.***","port":3306,"name":"cf_082c8f00_9f4f_481a_b6f8_***","username":"qzgIlkpXmNtrwYW3","password":"EZvyGidCWMg***","uri":"mysql://qzgIlkpXmNtrwYW3:EZvyGidCWMg***@10.9.1.***:3306/cf_082c8f00_9f4f_481a_b6f8_***?reconnect=true","jdbcUrl":"jdbc:mysql://10.9.1.***:3306/cf_082c8f00_9f4f_481a_b6f8_***?user=qzgIlkpXmNtrwYW3&password=EZvyGidCWMg***"}}],"redis-2.6":[*******],"filesystem-1.0":[{"name":"commy-file","label":"filesystem-1.0","tags":["filesystem","filesystem-1.0","Persistent filesystem"],"plan":"default","credentials":{"host_path":"/home/vcap/fs/078f42a123***"}}]}


Firefox_Screenshot_2015-04-17T14-57-32.765Z.png


从中我们不难看出,MySQL 数据库的连接信息是:
数据库地址:10.9.1.***
用户名:qzgIlkpXmNtrwYW3
密码:EZvyGidCWMg***
接下来我们自己建一个应用,上传 phpMyAdmin 的代码,注意在 phpMyAdmin 的配置文件中将数据库地址设为 10.9.1.*** ,也就是:

$cfg['Servers'][$i]['host'] = '10.9.1.***';


上传代码,启用演示功能,再部署代码到演示平台,打开演示平台测试效果,输入用户名和密码,成功登陆:

Firefox_Screenshot_2015-04-17T14-59-11.967Z.png


打开一个数据库,可以看到各种数据表:

Firefox_Screenshot_2015-04-17T15-03-01.864Z.png


打开一个数据表,可以看到一些明文存放的用户数据:

Firefox_Screenshot_2015-04-17T15-06-53.386Z.png

漏洞证明:

Firefox_Screenshot_2015-04-17T14-57-32.765Z.png


Firefox_Screenshot_2015-04-17T14-59-11.967Z.png


Firefox_Screenshot_2015-04-17T15-03-01.864Z.png


Firefox_Screenshot_2015-04-17T15-06-53.386Z.png

修复方案:

要求用户的所有应用都都不泄露环境变量是不太现实的,但是像一些 PaaS 平台那样禁止跨应用访问应该还是可以做到的吧?

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2015-04-19 12:45

厂商回复:

感谢您对 安全的关注, 由于演示平台产品定位是非生产环境
1) 跨应用数据库访问是默认允许的。
2) 显示ENV信息一般是用户打开了DEBUG模式,这个我们会对用户进行更好的说明

最新状态:

暂无