小米云服务同步“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,后面是一些参数。

抓包:{$1}是小米账号id,后面是一些参数。

然后就会返回一堆编码过的信息, Content-Type: application/json

返回一堆编码过的信息

里面应该就是手机的wlan设置内容了。如果没有差异就结束这次同步。

后来我把wpa_supplicant.conf的其中一段删掉,再重复上面的步骤,这次抓到了POST请求

http://wifiapi.micloud.xiaomi.net/mic/wifi/v2/user/{$1}/full/batch

主要参数是batchcontent,这长度看起来就像把整个配置文件都传上去了

主要参数是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

停用了