架构技术评论

小米AX1800利用固件漏洞开启SSH配置


背景

为了进入元宇宙感受一下,最近购买了 Oculus Quest 2,为了更愉快的联网,找了下怎么配置路由器的方法。发现正好我在用小米AX1800配置起来还挺简单的。

开启SSH

第一步,刷一个有“漏洞”的老版本固件:1.0.34版本。进入miwifi.com,找到"系统状态",会显示当前路由器的固件版本

如果不是1.0.34版本,则可以下载如下地址的固件:
http://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/rm1800/miwifi_rm1800_firmware_6718d_1.0.34.bin

选择“手动升级”,选择固件即可。

升级完成后,连接到默认的WiFi名称,进行少量初始化配置确保可以上网,记得初始化过程中不要选择“自动升级”(默认会选择,记得去掉)

然后进入miwifi.com,从浏览器url中可以找到如下类似地址:

http://192.168.31.199/cgi-bin/luci/;stok=71286fca9ed5dbb4f6e2b703740eb8c2/web/apsetting/upgrade

由于我是拿这个路由器当作“中继”,所以上面的ip地址不是默认的。

然后看上面url中后面的stok= 和反斜杠/ 之间的字符串:

71286fca9ed5dbb4f6e2b703740eb8c2
然后替换到下面url中的 。 这个漏洞挺有趣。。。
http://192.168.31.199/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=Xiaomi&user_id=longdike&ssid=-h%3B%20nvram%20set%20ssh_en%3D1%3B%20nvram%20commit%3B%20sed%20-i%20's%2Fchannel%3D.*%2Fchannel%3D%5C%22debug%5C%22%2Fg'%20%2Fetc%2Finit.d%2Fdropbear%3B%20%2Fetc%2Finit.d%2Fdropbear%20start%3B%20echo%20-e%20'admin%5Cnadmin'%20%7C%20passwd%20root%3B

直接浏览器输入回车,

如果如上图显示 code = 0 这样的返回值,则表示成功了。

然后,命令后输入:(替换成你的miwifi.com的ip地址)

ssh [email protected]

密码是:admin

如下图,则表示成功进入:

安装工具

这个步骤就不详细说了,项目地址是:

https://github.com/Eilgnaw/clash-for-Miwifi

直接打开这个地址,复制内容:

https://github.com/Eilgnaw/clash-for-Miwifi/blob/master/install.sh

在刚才的ssh中:

vim run.sh
然后粘贴到这个文件
sh ./run.sh

一路按1。然后退出,重新ssh。输入clash。还是各种1。按照向导导入你的配置文件。

最后

好了,可以愉快使用 Oculus Quest 2 了。似乎这个路由器只有二手了……