斐讯路由器K2P折腾记:刷官改固件

一直想买一个无线路由器,用来做无线中继和组局域网,毕竟每次都拿手机或者电脑开热点还是太麻烦了,应用限制也多。于是最近换电脑,就把无线路由器一起解决了。

考察了一圈无线路由器的情况,最终定的是二手的斐讯路由器K2P,主要考虑以下几点:

  • K2P的硬件参数还可以,自己小范围用应该完全没问题;
  • 网上折腾斐讯路由器的文章很多,可玩性还是不错的;
  • 别人大规模上车后转售的斐讯路由器既是新的,价格还便宜(闲鱼上不让卖,转转上K2P基本80、90左右就能买到);
  • 对比其他正常销售的路由器的硬件参数和转卖价,K2P应该毫无疑问是同价位性价比首选;
  • 只需要一台自己用,也不贵,没必要上车。

其实我不太想折腾路由器,都说斐讯路由器有后门,或者收集用户隐私什么的,但是在国内的这些网络环境下,任何一个环节和节点都有可能对你的通信内容进行监控、劫持和篡改,即便是刷了固件能保证眼前的这个路由器安全了,谁知道链路上的其他节点是不是安全的,毕竟劫持之类的事情网络运行商们可没少干。反正我能安全的地方我都已经尽量安全化了,不能安全的地方我也没办法,原谅我读书少又有被害妄想症-_-||

但是强行在通信中植入广告那就不能忍了,唉,刷吧。

刷机准备

我手上这台斐讯K2P路由器的相关信息如下:

路由器型号 硬件版本 官方固件版本
斐讯路由器 K2P 银色 A2(MTK版本) 22.8.5.189

网上K2P可刷的固件多种多样,有时间的话可能会都刷刷看,不过目前没时间,出于解决问题但尽量少折腾的考虑,我选择了恩山无线论坛“A大”abccba94官改固件,刷机过程简单,固件功能丰富(有酸酸乳,摆脱百度指日可待),契合需求。

主要参考

刷机过程

开启路由器的Telnet访问

  1. 进入路由器的管理后台,打开家长控制功能,并添加一条记录
    1. 在路由器管理后台找到家长控制
    2. 家长控制的开关设置为打开状态,此时列表中操作列的取消表示还没有任何记录,点击允许上网时段列下的时钟图标
    3. 随便选择一个时段,然后点击保存,此时一条记录已经添加成功。
  2. 通过漏洞注入启动Telnet的命令

    1. F12调出浏览器开发者工具,使用元素审查工具找到页面上刚才添加的记录的tr元素,然后修改该元素的data-value属性,在原来的MAC地址后面加上;/usr/sbin/telnetd -l /bin/sh &

      1
      data-value="XX:XX:XX:XX:XX:XX;/usr/sbin/telnetd -l /bin/sh &"
    2. 再次点击允许上网时段列下的时钟图标,随便选择一个时段并保存,此时该命令已经通过此漏洞注入到了路由器执行,Telnet已经开启;

      这个漏洞的原理我想应该是这样的:设置家长控制记录时,路由器后端是通过运行命令来实现的,命令的结尾就是MAC地址,所以只要后端未进行过滤,就可以通过附加在MAC地址后面的分号来进行其他命令的运行;修改家长控制记录时前端会读取data-value属性的值作为MAC地址,这个值未经过滤就被放到了命令中,所以只要修改data-value属性的值并保存,就可以将其他命令注入到路由器中执行。

    3. 验证开启结果:在终端(Linux)或命令提示符(Windows,可能需要先手动开启Telnet功能)中运行以下命令:

      1
      telnet 192.168.2.1

      从运行的输出可以看到,Telnet已经连接上了,表示路由器Telnet开启成功,后面就可以通过Telnet向路由器运行命令了。

下载刷机脚本并执行

  1. 在Telnet中运行以下命令,开始进行刷机:

    1
    wget http://iytc.net/tools/k2p.sh -O - |sh

    这条命令的含义就是从指定URL下载Shell脚本并执行,脚本中是固件作者封装好的固件刷机过程。

    命令执行时可以看到输出,我手头没有网线,是直接通过无线连的Telnet,输出一部分后就停止了,因为无线网已经断开,Telnet失去了连接,不过不用担心,命令依然会在路由器端继续执行。

  2. 运行命令之后就是等待了,等待一段时间之后发现之前自己命名的热点已经没有了,热点名称恢复到了初始的@PHICOMM_XX@PHICOMM_XX_5G的格式,说明路由器已经刷机完成,此时连上这两个热点中的一个,按界面说明进行初始化设置即可。
0%