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

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

缺陷编号:wooyun-2013-041105

漏洞标题:大公司诟病系列#1 重置京东任意用户密码

相关厂商:京东商城

漏洞作者: 猪猪侠

提交时间:2013-10-26 19:46

修复时间:2013-12-10 19:47

公开时间:2013-12-10 19:47

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-10-26: 细节已通知厂商并且等待厂商处理中
2013-10-30: 厂商已经确认,细节仅向厂商公开
2013-11-09: 细节向核心白帽子及相关领域专家公开
2013-11-19: 细节向普通白帽子公开
2013-11-29: 细节向实习白帽子公开
2013-12-10: 细节向公众公开

简要描述:

本系列将介绍一些大公司常有的诟病,随处可见的安全隐患,任意一个小问题都能引发企业安全的崩盘。
由于大多数应用系统自身的业务特性,会开放许多接口用于处理数据,如果接口或功能未进行严谨的安全控制或判断,将会促进骇客加快攻击应用程序的过程,大大降低了骇客发现威胁的人力成本。
同时随着模块化的自动化攻击工具包越来越趋向完善,将给应用、业务系统带来最大的威胁。
本报告内涉及的安全隐患,足矣间接导致京东商城遭受脱裤风险,介于安全测试,未深入研究!

详细说明:

#1 描述
2011年,互联网泄密事件引爆了整个信息安全界,导致传统的用户+密码认证的方式已无法满足现有安全需求。泄露数据包括:天涯:31,758,468条,CSDN:6,428,559条,微博:4,442,915条,人人网:4,445,047条,猫扑:2,644,726条,178:9,072,819条,嘟嘟牛:13,891,418条,7K7K:18,282,404条,共1.2亿条。
同时,搜索引擎越来越多的收录了企业的相关信息;
#2 风险描述
通过theharvester工具,和baidu.com、google.com搜索引擎,收集所有关于京东商城的员工信息。
得到如下京东商城员工列表信息:

[email protected]
[email protected]
mask 区域
*****0buy.*****
*****360bu*****
*****@360b*****
*****@360bu*****
*****360bu*****
*****360bu*****
*****60buy*****
*****@360bu*****
*****60buy*****
*****@360b*****
*****360buy*****
*****@360b*****
*****@360b*****
*****360bu*****
*****360bu*****
*****ang@36*****
*****e@360b*****
*****360bu*****
*****60buy*****
*****@360bu*****
*****g@360b*****
*****360buy*****
*****ng@360*****
*****@360bu*****
*****0buy.*****
*****60buy*****
*****0buy*****
*****@360b*****
*****360bu*****
*****@360b*****
*****60bu*****
*****60buy*****
*****360buy*****
*****360buy*****
*****60buy*****
*****@360bu*****
*****g@360b*****
*****60buy*****
*****360buy*****
*****@360b*****
*****ang@36*****
*****@360bu*****
*****@360bu*****
*****360bu*****
*****@360bu*****
*****360buy*****
*****360buy*****
*****0buy.*****
*****60buy*****
*****360buy*****
*****@360b*****
*****@360b*****
*****360buy*****
*****0buy*****
*****60bu*****
*****n@360b*****
*****60buy*****
*****60bu*****
*****360buy*****
*****n@360b*****
*****0buy.*****
*****60buy*****
*****360bu*****
*****60buy*****
*****0buy.*****
*****@360bu*****
*****360bu*****
*****360bu*****
*****g@360b*****
*****60buy*****
*****360buy*****
*****@360b*****
*****60bu*****
*****360buy*****
*****360buy*****
*****60bu*****
*****@360bu*****
*****360buy*****
*****@360bu*****
*****360bu*****
*****360buy*****
*****@360bu*****
*****60buy*****
*****360buy*****
*****g@360b*****
*****@360bu*****
*****360buy*****
*****0buy.*****
*****360buy*****
*****@360bu*****
*****0buy.*****
*****360bu*****
*****360bu*****
*****60buy*****
*****60buy*****
*****0buy.*****
*****@360b*****
*****@360b*****
*****360buy*****
*****360bu*****
*****60bu*****
*****@360b*****
*****0buy*****
*****60buy*****
*****0buy.*****
*****0buy.*****
*****360bu*****
*****0buy.*****
*****360buy*****
*****360bu*****
*****@360bu*****
*****60buy*****
*****@360bu*****
*****@360b*****
*****@360bu*****
*****60bu*****
*****@360b*****
*****@360b*****
*****360buy*****
*****360buy*****
*****360buy*****
*****@360b*****
*****@360b*****
*****@360bu*****
*****@360b*****
*****60buy*****
*****60buy*****
*****360bu*****
*****@360bu*****
*****@360b*****
*****@360b*****
*****360bu*****
*****360buy*****
*****0buy*****
*****@360b*****
*****360bu*****
*****0buy*****
*****@360b*****
*****360bu*****
*****@360b*****
*****60bu*****
*****360bu*****
*****@360b*****
*****@360b*****
*****360buy*****
*****60buy*****
*****@360b*****
*****360buy*****
*****@360b*****
*****60bu*****
*****60buy*****
*****360bu*****
*****60buy*****
*****@360bu*****
*****0buy*****
*****@360bu*****
*****0buy.*****
*****@360bu*****
*****360bu*****
*****@360b*****
*****360bu*****
*****i@360b*****
*****360buy*****
*****360buy*****
*****360buy*****
*****i@360b*****
*****@360b*****
*****60buy*****
*****ng@360*****
*****360buy*****
*****0buy.*****
*****360buy*****
*****60buy*****
*****60bu*****
*****360buy*****
*****0buy.*****
*****360bu*****
*****360buy*****
*****360buy*****
*****@360b*****
*****360bu*****
*****@360bu*****
*****360buy*****
*****360bu*****
*****@360b*****
*****@360bu*****
*****360bu*****
*****60buy*****
*****@360bu*****
*****360buy*****
*****@360b*****
*****360bu*****
*****@360b*****
*****360bu*****
*****@360b*****
*****g@360b*****
*****60buy*****
*****@360bu*****
*****360buy*****
*****@360bu*****
*****@360b*****
*****@360bu*****
*****nfo@36*****
*****360buy*****
*****@360b*****
*****0buy.*****
*****360buy*****
*****0buy.*****
*****60buy*****
*****0buy.*****
*****@360b*****
*****0buy*****
*****0buy*****
*****360buy*****
*****@360bu*****
*****360buy*****
*****n@360b*****
*****jie@360*****
*****@360b*****
*****60buy*****
*****360buy*****
*****60buy*****
*****360buy*****
*****0buy.*****
*****@360b*****
*****360bu*****
*****@360bu*****
*****@360b*****
*****@360b*****
*****60bu*****
*****360bu*****
*****@360b*****
*****buy.*****
*****360bu*****
*****360bu*****
*****g@360b*****
*****g@360b*****
*****60buy*****
*****360buy*****
*****360buy*****
*****60buy*****
*****buy.*****
*****@360b*****
*****@360bu*****
*****360buy*****
*****@360bu*****
*****60bu*****
*****60bu*****
*****@360bu*****
*****@360b*****
*****uy.c*****
*****360buy*****
*****@360b*****
*****360bu*****
*****360bu*****
*****0buy*****
*****60buy*****
*****360buy*****
*****@360b*****
*****@360b*****
*****@360b*****
*****n@360b*****
*****g@360b*****
*****o@360b*****
*****@360b*****
*****@360bu*****
*****@360b*****
*****@360bu*****
*****ng@360*****
*****360bu*****
*****@360bu*****
*****@360bu*****
*****ng@360*****
*****n@360b*****
*****60buy*****
*****g@360b*****
*****@360bu*****
*****g@360b*****
*****@360b*****
*****an@360*****
*****360buy*****
*****360buy*****
*****360buy*****
*****360buy*****
*****360buy*****
*****360buy*****
*****60buy*****
*****@360b*****
*****u@360b*****
*****u@360b*****
*****@360b*****
*****g@360b*****
*****ang@36*****
*****360buy*****
*****@360bu*****
*****60buy*****
*****60buy*****
*****@360b*****
*****@360b*****
*****@360bu*****
*****g@360b*****
*****@360bu*****
*****360buy*****
*****360bu*****
*****60bu*****
*****037@360*****
*****11@360*****
*****@360b*****
*****60bu*****
*****@360b*****
*****@360b*****
*****60buy*****
*****360bu*****
*****ech*****

360buy.com


#3 找到可用的登陆接口验证口令
https://mail.jd.com/owa/auth/logon.aspx
京东的邮件服务使用了微软的Microsoft Exchange套件,无验证码限制,直接FUZZ。
#4 FUZZ规则建立
大公司人员的习惯研究,公司做得越来越大的时候,总会出现那么几个安全意识薄弱的人员(俗称猪一样的队友),他们往往会做出一些让人无法理解的事情,比如:直接点击邮件内的 EXE 附件,或者使用和用户名一样的密码,或者用户名+当前年份的密码。
我构建的密码规则:

%username% = 用户名
%domain% = 公司域名
%username%%domain%
%username%1
%username%12
%username%123
%username%1234
%username%12345
%username%123456
%username%@123
%username%@123.com
%username%@163
%username%@163.com
%username%163
%username%8
%username%88
%username%888
%username%999
%username%666
%username%2008
%username%2009
%username%2010
%username%2011
%username%2012
%username%2013
%username%@2008
%username%@2009
%username%@2010
%username%@2011
%username%@2012
%username%@2013
%username%!@#


#5 成功Fuzz出某个用户的密码,再结合Exchange的通讯录功能,导出所有用户名列表
! 京东原CFO,首席财务官

360buy.com_CFO.jpg


! 若干人员

360buy.com_address.jpg


推荐一个自动导出所有Exchange联系人的工具:Exchange-Spigot
http://exchangespigot.codeplex.com/

20110831-NodeXL-Exchange-Spigot.png


#6 是的,现阶段,你已经拥有了所以京东员工的联系信息列表
重复使用#4提到的FUZZ规则,弱口令用户一堆一堆的,然后你就可以进入那些人的邮箱里面找猛料了,这里只是测试,没办法提供相关结果信息。
测试后回显成功找到了2865名员工的密码,均为弱口令!

漏洞证明:

#7 漏洞证明,找到你们的安全部门、数据库部门

.png


.png


#8 整理获取到的信息间接进行测试,最终证明可重置京东任意用户密码
http://safe.jd.com/findPwd/index.action,填入用户的邮箱,系统将会使用[email protected]用户发送重置密码链接,去邮件服务器搜索到就行了。

jd_findpwd.jpg


jd.com_custome_service.jpg

修复方案:

#1 安全意识培训到每个人
#2 加入TOKEN校验机制,或者验证码
#3 第三条,你们在互联网上表现得比谁都专业,自己想办法吧

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-10-30 13:55

厂商回复:

逻辑很清晰,感谢支持

最新状态:

暂无