博联 Broadlink 的万能遥控,远程指令可以 replay,需要加个时间验证嘛?

2020-01-11 21:34:13 +08:00
 JCZ2MkKb5S8ZX9pq
{
    "directive": {
        "header": {
            "namespace": "DNA.TransmissionControl",
            "name": "fkdjksfjdk",
            "interfaceVersion": "2",
            "messageId": "00000000000000000000?????"
        },
        "endpoint": {
            "devicePairedInfo": {
                "did": "00000000000000000000????",
                "pid": "000000000000000000000000????",
                "mac": "fffffffffffffff",
                "cookie": "fldajflksjkldfjsaldf????????"
            },
            "endpointId": "00000000000000000000???fffffffff",
            "cookie": {}
        },
        "payload": {
            "data": "????AAA????FFFFFFFF",
            "notpadding": 0
        }
    }
}
{
    "device": {
        "id": 321,
        "key": "3kj324lk32j4lk2j4l23j4l23kj4",
        "aeskey": "3kj324lk32j4lk2j4l23j4l23kj4",  # same as key
        "did": "00000000000000000000kjljlkjlkjlkj",  # device id
        "pid": "000000000000000000000ljljljljljlj",  # maybe product or sth. else
        "mac": "ff:ff:ff:ff:ff:ff"  # mac of RM Pro 
    }
}

问题点


1887 次点击
所在节点    全球工单系统
9 条回复
JCZ2MkKb5S8ZX9pq
2020-01-11 22:00:27 +08:00
另外我在想,那个 key 很短,不像 sid 校验。license 不确定。
但会不会 data 部分也没有验证,换句话说,修改 data 部分,就能向我家里发任意指令了?那也满扯的。

因为还不知道它 data 的编码规则,所以我也不方便测试,感觉可能是个坑点。
先直接从路由器屏蔽了。
sneezry
2020-01-11 22:02:51 +08:00
指令可以直接重放,我之前试过,同一个指令用了两年都可以正常控制
JCZ2MkKb5S8ZX9pq
2020-01-11 22:05:35 +08:00
@sneezry 真的这样啊,汗。。。
倒是可以变相当 restapi 用
JCZ2MkKb5S8ZX9pq
2020-01-11 22:10:39 +08:00
@sneezry 试了下,多次请求,cookie 和 license 是不变的,也就是说很可能直接修改 data,就能发送任意指令到家里的万能遥控了。。。

它这个 data 你知道是用什么编码的嘛?长得像 base64,但解出来乱码,好像 base64 可以自定义码表的是嘛?请问你知道它 data 部分是怎么编的嘛?
sneezry
2020-01-11 22:24:56 +08:00
@JCZ2MkKb5S8ZX9pq data 不是可见字符,就是二进制数据,博联自己设计的协议,没有太多公开资料
binux
2020-01-11 23:18:50 +08:00
houfukude
2020-01-12 01:05:40 +08:00
如果你指望去博联家的服务器下指令这个我没研究过

我直接本地学习了然后进行本地重放
可以参考一下这个项目
https://github.com/mjg59/python-broadlink/
JCZ2MkKb5S8ZX9pq
2020-01-12 01:45:11 +08:00
@binux 不太一样,HA 是本地通过 ip/mac 直接连的。抓包的这个是从博联服务器走的。
JCZ2MkKb5S8ZX9pq
2020-01-12 01:47:01 +08:00
@houfukude 嗯,HA 本地我已经都配置好了。我吐槽的这个是博联 App 里的。
我在抓的部分是射频码和其它一些东西。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637152

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX