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

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-031975

漏洞标题:OPPO用户中心源码泄露后的噩梦 600W用户敏感信息&明文密码

相关厂商:广东欧珀移动通讯有限公司

漏洞作者: 猪猪侠

提交时间:2013-07-23 16:24

修复时间:2013-09-06 16:25

公开时间:2013-09-06 16:25

漏洞类型:重要敏感信息泄露

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-07-23: 细节已通知厂商并且等待厂商处理中
2013-07-24: 厂商已经确认,细节仅向厂商公开
2013-08-03: 细节向核心白帽子及相关领域专家公开
2013-08-13: 细节向普通白帽子公开
2013-08-23: 细节向实习白帽子公开
2013-09-06: 细节向公众公开

简要描述:

一个小小的运维缺陷,直接造成了600万用户信息,2000万机主信息的敏感隐私泄露。
声明:我只是简单的看了一下,未导任何一条数据,嗯,现在看过的东西都已经忘得差不多了,希望不要找我灭口啊~

详细说明:

#1 测试发现
最近看到wooyun上有不少同学在提交OPPO的漏洞,于是就开了下扫描器,扫了扫!
发现了这么个玩意儿:http://account.oppo.com/sysadmin.tar.gz
^_^,这是什么呢?下回来瞧一瞧!,从域名来看就知道是OPPO的用户中心了
#2 进一步研究
下回来解压缩后,吓我一跳,还真是整个用户中心的源代码。

oppo_source.jpg


瞧一瞧这些配置文件里面都有什么?

<?php
/**
* @version $Id: config.db.php 64 2008-12-10 15:02:02Z Administrator $
*
* $dsn = "数据库类://用户名:密码@主机:端口/数据库名/编码/是否长连接";
*/
$dbname = array();
$siteConf = isset($siteConf) && is_array($siteConf) ? $siteConf : array();
$dbname['uni'] = 'oppo_universal'; // database name
#$siteConf['dsn']['uni']['writer'] = "MySQL://sso_rpc1225:fdG******dEGsd@***.***.*.82:33306/{$dbname['uni']}/utf8/false";
$siteConf['dsn']['uni']['writer'] = "MySQL://oppo_account1225:Bz******JEUBBFQxL%!yCjvbV@***.***.*.82:33306/{$dbname['uni']}/utf8/false";
$siteConf['dsn']['uni']['reader'] = $siteConf['dsn']['uni']['writer'];
$dbname['bbs'] = 'oppo_product_bbs15';
$siteConf['dsn']['bbs']['writer'] = "MySQL://oppo_bbs1225:afb0z******qfT9f1^57tW2wx5@***.***.*.47:33306/{$dbname['bbs']}/utf8/false";
$siteConf['dsn']['bbs']['reader'] = $siteConf['dsn']['bbs']['writer'];
$dbname['mp3'] = 'oppo_mp3'; // database name
$siteConf['dsn']['mp3']['writer'] = "MySQL://oppo_mp31225:7hfW******WKRXpnF6@***.***.*.82:33306/{$dbname['mp3']}/utf8/false";
$siteConf['dsn']['mp3']['reader'] = $siteConf['dsn']['mp3']['writer'];
$dbname['fansbbs'] = 'oppo_fans_bbs'; // database name
$siteConf['dsn']['fansbbs']['writer'] = "MySQL://oppo_fans1225:abb8f******JSNPrxJs@***.***.*.82:33306/{$dbname['fansbbs']}/utf8/false";
$siteConf['dsn']['fansbbs']['reader'] = $siteConf['dsn']['fansbbs']['writer'];
$dbname['oppoweb'] = 'oppoweb'; // database name
$siteConf['dsn']['oppoweb']['writer'] = "MySQL://oppoweb1225:zY3_a******JBPmy_UChiqO5oI@***.***.*.82:33306/{$dbname['oppoweb']}/utf8/false";
$siteConf['dsn']['oppoweb']['reader'] = $siteConf['dsn']['oppoweb']['writer'];
$dbname['med'] = 'oppo_med'; // database name
$siteConf['dsn']['med']['writer'] = "MySQL://oppoweb1225:zY3_aNzES******y_UChiqO5oI@***.***.*.82:33306/{$dbname['med']}/utf8/true/false";
$siteConf['dsn']['med']['reader'] = $siteConf['dsn']['med']['writer'];
$dbname['www'] = 'oppo_www'; // database name
$siteConf['dsn']['www']['writer'] = "MySQL://oppo_www:%cNK1C******Y82_0Q8Qg7nL@***.***.*.82:33306/{$dbname['www']}/utf8/false";
$siteConf['dsn']['www']['reader'] = $siteConf['dsn']['www']['writer'];
//$siteConf['dbcharset'] = 'utf8';
?>


#3 有了源码,有了配置文件,有时候有些厚脸皮的管理员或开发人员会说,你照样影响不到的我的数据啊!
看了下OPPO在乌云上的一堆漏洞,你们对待安全问题的态度真的很差,大部分漏洞都置之不理的,你让那些白帽子们情何以堪?
其实我也担心你们针对的这个报告给予同样的态度,所以,我喝了瓶可乐,开始好好研究你们。
花了半天看源码,找了个小BUG,总算拿到个SHELL。

0.jpg


#4 更多漏洞利用
邮件配置内容:
WooYun: WEIPHONE威锋网任意用户密码修改 直探700万用户数据
结合这个漏洞,可以让你找回任意用户的密码!

// 邮件服务器配置
$siteConf['mailer'] = array(
"smtp_host" => "mail.oppo.com",
"smtp_port" => "9988",
"smtp_user" => "[email protected]",
"smtp_pass" => "ge***88",
"smtp_mail" => "[email protected]"
);
$siteConf['mailer'] = array(
"smtp_host" => "121.12.164.116",
"smtp_port" => "9988",
"smtp_user" => "register",
"smtp_pass" => "oppo*******988",
"smtp_mail" => "[email protected]"
);


漏洞证明:

#5 血淋淋的内幕揭露
~! 用户密码明文存储

1.jpg


~! 记录用户的登录行为,而且记录用户的明文密码 (上千万的记录,5张表)

oppo_login_history.jpg


3.jpg


~! 接近2000万的记住信息,IMEI信息

4.jpg


修复方案:

#1 针对安全问题的态度。
#2 运维缺陷,安全意识普及。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-07-24 09:47

厂商回复:

非常感谢,相关历史数据已经清理!全力修复漏洞中...

最新状态:

暂无