小米云服务同步“wlan设置”的安全性
ghy459 (深挖洞,广积shell。) | 2013-09-09 12:10
上个周雷布斯在发布会上说,小米已经收集了32w的wifi明文密码。我伙呆啊!!
后来小米顶不住舆论压力决定关掉miui的“wlan互助分享”功能,并承诺已经删除所有密码(呵呵!)
好吧言归正传,其实今天不是想说上面那事,是想说小米云服务中“wlan设置”的这个功能。
根据miui的介绍,它会帮你上传保存在本地的wlan记录,就是SSID+密码。保存下来的密码在云端是不可见的,本地删除以后自动会在云端删除。
这特么的不就跟“wlan互助分享”一个性质么,而且还一下子把全部密码传上去了!!之前的32w都是浮云!!
虽然这个是私有的,但感觉传上去了就是不安全啊!!
为了验证一下我的密码们是不是安全的,我决定通过抓包了解一下过程。
先将同步关闭,然后再打开,借助tcpdump扫了一段记录下来
在同步开始之前,首先会向服务器GET原来在云端的记录:
http://wifiapi.micloud.xiaomi.net/mic/wifi/v2/user/{$1}/full?syncTag={$2}&limit={$3}&signature={$4}
{$1}是小米账号id,后面是一些参数。
然后就会返回一堆编码过的信息, Content-Type: application/json
里面应该就是手机的wlan设置内容了。如果没有差异就结束这次同步。
后来我把wpa_supplicant.conf的其中一段删掉,再重复上面的步骤,这次抓到了POST请求
http://wifiapi.micloud.xiaomi.net/mic/wifi/v2/user/{$1}/full/batch
主要参数是batchcontent,这长度看起来就像把整个配置文件都传上去了
不知道有没有大牛能看出来是什么加密的方式呢?我就是想了解一下miui到底把什么东西传到服务器上了,谢谢~
PS.这个分析过程非常不严谨,有误请轻喷
相关讨论:
1#
Mr.杨总 | 2013-09-09 13:20
很神奇的样子。。。。base64?
2#
ghy459 (深挖洞,广积shell。) | 2013-09-09 13:25
@Mr.杨总 直接base64是解密乱码
3#
c4bbage (出售 weisuo.org) | 2013-09-09 15:35
停用了