前言:

三大运营商都有自己的定制版路由器,一般会在自家营销活动中作为赠品送给用户

正巧我家里就有两台电信定制版的华为路由器,都是这两年双十一在某宝上买宽带时送的

两台路由器型号分别是TC7001和TC7102,分别对应华为官方公版路由器型号是AX2和AX3

这两台在我家里都是作为从路由使用的,增强下全屋的wifi信号仅此而已

1. 路由器刷成砖了

这两路由器当时到手的时候,我直接用手机把它们设置为家里的从路由了,所以管理后台我都还没仔细看过  <-- 请先注意这句话

晚上闲着无聊打开路由器的后台看了一下,发现定制版的路由器阉割掉了很多功能,只有最基础的wifi设置和一些基础信息设置的功能,完全没有可玩性

我就在网上找了找,看有没有什么第三方固件可以刷一刷扩展下功能,发现这两台华为路由器虽然不能刷第三方的固件,但是可以刷成公版固件,至少能变成一台功能齐全的路由器

于是找到了TC7102的公版AX3的固件,虽然教程写着不明不白,不管三七二十一了,固件版本对的上我就直接下载过来开始刷固件

固件刷完后发现,路由器的wifi信号没了,而且后台管理界面的默认密码也变了,不是机身背后的初始密码,这不等于啥也干不了,跟一台砖头没差!!!

随后上网找了找,发现很多人都有这个问题,刚好这一款路由器的电信定制版刷成公版路由是有风险和特别注意事项的,一开始看的教程里都没提到

找了好久的解决办法,奈何定制版算是冷门款,网上信息太少了,但可以判断出来这路由基本是废了,得拆机烧固件,要找售后解决了

2. 尝试找到隐藏功能入口

我就想着,大家都喜欢刷公版,不就是因为功能太少了,而定制版会不会并没有删除功能,只是把功能入口隐藏掉了???

随后我就打开另一台路由器的后台,都一个品牌嘛,后台跟刚才那台是一模一样的,可以看到有些菜单是灰掉的

1. 先从html源码上入手,按F12打开浏览器调试工具,找到灰掉的按钮元素,把元素上的disabled属性去掉,css也尝试修改一下,发现点击了没反应,说明这事没这么简单

2. 接着发现他们的后台页面是用vue写的,并且点击那几个可用的菜单时,url上的路由跟dom上的id是一一对应的,那么可以确定点击事件就是用vue路由控制的,我们就可以从js源码入手,通过id去搜索对应的路由控制代码

3. 通过搜索其中一个被禁用的菜单id:internet,我在网页加载的资源中找到了一个名为router.js的文件,里面配置了很多页面的路由,以及每个路由需要的依赖引用和属性,而且通过路由命名都可以猜到是什么功能,并且路由数量是远远超过网页上可见的页面入口数量,我就随便找一个页面上没有的功能,在url上直接修改,回车后发现没反应,有的甚至会跳回首页,那这里一定是有什么逻辑在过滤这些路由

4. 很快我再通过一番搜索,在一个名为main.js里发现了一段注释写着白名单控制的方法,代码里清清楚楚的写着如何判断白名单,虽然不能完全看懂某些组合条件是什么意思,但是可以大概判断出来代码是通过一个叫 isRepeater 、meta.repeater 的属性,以及 isBridge、meta.bridage 这个'或'条件去判断的

5. meta.repeater 和 meta.bridge 这两个属性刚才在router.js里,我已经看到过几次,分外的眼熟,回到router.js中,可以发现很多不可见的页面路由恰巧都设置了这两个属性,真相大白了!

3. 利用Fiddler去替换掉JS的响应内容

1. 我们先把router.js这个文件下载到本机,用编辑器打开这个js,把路由包含 repeater: true 和 bridge: true 的meta属性都删了,注意json格式别搞乱了,然后保存

2. 打开Fiddler开始抓包,刷新一下路由器的后台界面,在Fiddler中找到router.js,并把这个响应拖到右侧的AutoResponder中,接着选中这个响应,并指向到刚才我们本机上修改过的router.js,最后开启 Enable rules

3. 我们再刷新下网页,并手动修改url上的路由,随便挑一个隐藏路由即可,发现隐藏页面成功展示出来了,并且里面的各种设置都是能正常工作的,大功告成!!!

4. 有少量路由打开还是没反应的,结合路由的配置和网页加载资源可以判断出,某些路由依赖的js并不存在,说明开发者还是确确实实删了一点点的功能

5. 当然你也可以修改main.js中那段白名单的控制逻辑,用一样的套路实现效果

反转来了...

当我打开路由页面/internet,也就上图中顶部第二个灰色菜单,页面上显示 上网方式:Bridge(AP),再想到代码中关于白名单的条件有2个变量叫 isBridgemeta.bridge

我其实已经有点猜到是什么情况:Bridge模式下,开发者故意隐藏掉这些菜单,因为桥接模式的网关控制权已经全权交给主路由了,所以从路由没必须再显示这些功能

前面我也说了,这两个路由器一到手,我直接用手机进入路由器初始化流程,把他们设为从路由器,没机会看过它们的后台是长什么样的

而我这一次进后台,它们已经处于桥接模式了,导致我一直以为是因为定制版的原因这些功能才被阉割掉的

随后我就重置了路由器,设为正常的路由模式,果然所有菜单都正常显示出来了,搞了半天是一个乌龙事件....

结:

虽然这是一个乌龙教程,但是万一其他品牌的运营商定制版固件确实有隐藏了功能,并且是使用前后端分离的形式去做,也可以通过这样的方式去摸索,这篇教程能起到一点点的参考意义吧

路由器刷公版固件和第三方固件有风险,网上教程一定要先看完整,甚至可以多找几份教程对比,再刷一些用户的评论看看反馈再进行操作,像我这样操作不当就直接刷成砖,路由器废掉只能走售后,花费的时间成本更大

以上教程仅针对华为路由器的管理后台,其他品牌的后台大概率不适用,请自行研究

该文为博客园版本

原创作者:Harry

原文出处:https://www.cnblogs.com/simendancer/articles/17033944.html

巧用Fiddler开启运营商定制版路由器被阉割的功能,免去刷公版固件的风险的更多相关文章

  1. [Fiddler] 开启Fiddler抓包的时候产品报“证书错误”

    报错截图: 解决办法:同时开启产品和Fiddler,做如下处理:

  2. 巧用Fiddler代理来禁止资源缓存,从而达到每次都是从服务器加载最新的资源

    Fiddler ->  Rules ->  Performance  -> Disable Caching 直接设置禁用缓存,再在没有清除缓存功能的APP 中重新加载最新的页面, 每 ...

  3. 巧用Linux 架设TFTP Server备份路由器的配置文件

    本文首发<网管员世界>  转载本文站点: ChinaITLAB TFTP (普通文件传输协议或一般文件传输协议) 大家一定记得在2003年8月12日全球爆发冲击波(Worm.Blaster ...

  4. Fiddler开启调试模式

    分别键入以下命令 prefs set fiddler.debug.extensions.showerrors True prefs set fiddler.debug.extensions.verbo ...

  5. Fiddler开启Https的时候出现unable to configure windows to trust Fiddler Root certificate问题

    前言 通过log页面看到错误为:访问控制列表(ACL)结构无效. 网上(baidu,bing,google)各种方式都试过了: 如重置证书(Reset all certificates) 导出证书到本 ...

  6. 开启和关闭oracle数据库中的审计功能

    第1步:查看审计功能是否开启?SQL> show parameter audit;NAME                                 TYPE        VALUE-- ...

  7. 开启mac terminal 命令/路径自动补全功能

    用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯.其实mac terminal也有这个功能. 在命令行输入nano .inputrc 进入.inp ...

  8. GNS3 ProxyArp(查看路由器是否具有转发功能)

    R2是否可以把R1的数据转发出去,参看http://www.cnblogs.com/qq76211822/p/5129134.html 命令:show ip interface f0/0

  9. [Android Pro] Android源码编译之Nexus5真机编译

    reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中, ...

  10. 开启路由器的TCP拦截

    TCP拦截即TCP intercept,大多数的路由器平台都引用了该功能,其主要作用就是防止SYN泛洪攻击.SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击 ...

随机推荐

  1. 现有一个接口DataOperation定义了排序方法sort(int[])和查找方法search(int[],int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法

    欢迎大家加入我的社区:http://t.csdn.cn/Q52km 社区中不定时发红包 文章目录 1.UML类图 2.源码: 3.优缺点分析 1.UML类图 2.源码: package com.bac ...

  2. 齐博x1如何调试查找全站的表单提交接口参数

    H5.PC.WAP端的所有提交POST表单操作都是可以当作接口来用的. 比如我们通过PC或WAP浏览器打开相应要修改的界面,然后浏览器进入开发者模式,就可以追踪到所提交的变量参数.你在APP里边只要指 ...

  3. Python--网络编程学习笔记系列02 附:tcp服务端,tcp客户端

    Python--网络编程学习笔记系列02 TCP和UDP的概述: udp通信模型类似于写信,不需要建立相关链接,只需要发送数据即可(现在几乎不用:不稳定,不安全) tcp通信模型类似于打电话,一定要建 ...

  4. JVM学习笔记——内存结构篇

    JVM学习笔记--内存结构篇 在本系列内容中我们会对JVM做一个系统的学习,本片将会介绍JVM的内存结构部分 我们会分为以下几部分进行介绍: JVM整体介绍 程序计数器 虚拟机栈 本地方法栈 堆 方法 ...

  5. C. 连锁商店(状压dp)

    C. 连锁商店 time limit per test 1 second memory limit per test 512 megabytes input standard input output ...

  6. dp入门30题

    前言:本文章主要记录一些 \(dp\) 入门题,都是我做过的,希望读者能从这些基础题中打好 \(dp\) 扎实的基础,有不足的地方也欢迎指出.大部分是 \(CodeFoces\) 和 \(Atcode ...

  7. C语言算法入门

    2018年11月2日  leetcode的确是一个不错的网站,希望能提升自己的算法力 int* twoSum(int* nums, int numsSize, int target) { } 出现的第 ...

  8. 使用位运算优化 N 皇后问题

    使用位运算优化 N 皇后问题 作者:Grey 原文地址: 博客园:使用位运算优化 N 皇后问题 CSDN:使用位运算优化 N 皇后问题 问题描述 N 皇后问题是指在 n * n 的棋盘上要摆 n 个皇 ...

  9. i春秋who are you

    打开题目网页,抓包,查源码都一无所获,然后就去看cookie,发现一个role变量,刚开始也不知道这个变量是什么,其值也是没有规律的一串字符串.看了别人源码才知道这是base64加密后的字符串,将其用 ...

  10. Linux 基础-新手必备命令

    Linux 基础-新手必备命令 概述 常见执行 Linux 命令的格式是这样的: 命令名称 [命令参数] [命令对象] 注意,命令名称.命令参数.命令对象之间请用空格键分隔. 命令对象一般是指要处理的 ...