网络与系统 · 2020年9月16日 0

宿舍里的空调计费电表分析

学校太拉跨,明明空调早就装好了,但是供电招标拖了一年,最后还是招了一个小团队…

电费充值app写的太拉跨了,简直就是…无法形容…

所以,当然要分析一波…

周目一

现在物联网电表到处都是,所以我猜这也是物联网电表,但是,这破电表居然会发射wifi信号,我傻了。

厂家绝对不会徒增一个无线模块的,并且电费下发到电表需要连接到电表发出的无线信号才能下发。到这里,其实思路已经很清楚了,不多说,懂得都懂。

但是还是得验证一波,所以来一波抓包,抓包软件是Fiddler 4,测试软件是postman(吹爆)。

登录,获取token
登录,获取token
查询用电情况,需获取token
查询用电情况,需获取token
查询缴费记录,无需token
查询缴费记录,无需token
查询待下发到电表的订单,无需登录获取token
查询待下发到电表的订单,无需登录获取token

最后比较魔幻的一个链接,更新账户余额

更新账户余额
更新账户余额

最后这一个,实际操作步骤是

  • 连接到电表wifi后
  • app会获取当前的用户电费余额和用电量
  • 之后app会立刻主动请求断开电表wifi
  • 断开后会立即通过蜂窝网络发送用户用电余额到服务器

所以,这个上报用户余额的功能只是供电商为了统计用电量,对我毫无卵用…

综上分析.电表是完全离线运行的(微微垃圾,连物联网模块都安不起),所以破解也有了思路。

由于通过连接电表wifi来下发电费,所以只能在wifi上动手脚,继续抓包,发现电表网关开放了25和110端口。

这两个端口全是邮件端口,推测电费通过stmp协议下发(是为了防大学生?),但是之后测试发现可能是用来调试电表…

在电表钱包里充值0.01元,然后电脑开启热点,伪造ssid和mac地址,使用wireshark进行分析,捕获了一些“奇怪的东西”

8266端口传输数据

到此为止了,再写就犯罪了…