巧用Fiddler开启运营商定制版路由器被阉割的功能,免去刷公版固件的风险
前言:
三大运营商都有自己的定制版路由器,一般会在自家营销活动中作为赠品送给用户
正巧我家里就有两台电信定制版的华为路由器,都是这两年双十一在某宝上买宽带时送的
两台路由器型号分别是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个变量叫 isBridge 和 meta.bridge
我其实已经有点猜到是什么情况:Bridge模式下,开发者故意隐藏掉这些菜单,因为桥接模式的网关控制权已经全权交给主路由了,所以从路由没必须再显示这些功能
前面我也说了,这两个路由器一到手,我直接用手机进入路由器初始化流程,把他们设为从路由器,没机会看过它们的后台是长什么样的
而我这一次进后台,它们已经处于桥接模式了,导致我一直以为是因为定制版的原因这些功能才被阉割掉的
随后我就重置了路由器,设为正常的路由模式,果然所有菜单都正常显示出来了,搞了半天是一个乌龙事件....
结:
虽然这是一个乌龙教程,但是万一其他品牌的运营商定制版固件确实有隐藏了功能,并且是使用前后端分离的形式去做,也可以通过这样的方式去摸索,这篇教程能起到一点点的参考意义吧
路由器刷公版固件和第三方固件有风险,网上教程一定要先看完整,甚至可以多找几份教程对比,再刷一些用户的评论看看反馈再进行操作,像我这样操作不当就直接刷成砖,路由器废掉只能走售后,花费的时间成本更大
以上教程仅针对华为路由器的管理后台,其他品牌的后台大概率不适用,请自行研究
该文为博客园版本
原创作者:Harry
原文出处:https://www.cnblogs.com/simendancer/articles/17033944.html
巧用Fiddler开启运营商定制版路由器被阉割的功能,免去刷公版固件的风险的更多相关文章
- [Fiddler] 开启Fiddler抓包的时候产品报“证书错误”
报错截图: 解决办法:同时开启产品和Fiddler,做如下处理:
- 巧用Fiddler代理来禁止资源缓存,从而达到每次都是从服务器加载最新的资源
Fiddler -> Rules -> Performance -> Disable Caching 直接设置禁用缓存,再在没有清除缓存功能的APP 中重新加载最新的页面, 每 ...
- 巧用Linux 架设TFTP Server备份路由器的配置文件
本文首发<网管员世界> 转载本文站点: ChinaITLAB TFTP (普通文件传输协议或一般文件传输协议) 大家一定记得在2003年8月12日全球爆发冲击波(Worm.Blaster ...
- Fiddler开启调试模式
分别键入以下命令 prefs set fiddler.debug.extensions.showerrors True prefs set fiddler.debug.extensions.verbo ...
- Fiddler开启Https的时候出现unable to configure windows to trust Fiddler Root certificate问题
前言 通过log页面看到错误为:访问控制列表(ACL)结构无效. 网上(baidu,bing,google)各种方式都试过了: 如重置证书(Reset all certificates) 导出证书到本 ...
- 开启和关闭oracle数据库中的审计功能
第1步:查看审计功能是否开启?SQL> show parameter audit;NAME TYPE VALUE-- ...
- 开启mac terminal 命令/路径自动补全功能
用惯了windows命令行工具的按Tab自动补全路径功能后,在mac terminal上敲命令很不习惯.其实mac terminal也有这个功能. 在命令行输入nano .inputrc 进入.inp ...
- GNS3 ProxyArp(查看路由器是否具有转发功能)
R2是否可以把R1的数据转发出去,参看http://www.cnblogs.com/qq76211822/p/5129134.html 命令:show ip interface f0/0
- [Android Pro] Android源码编译之Nexus5真机编译
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1. 前言 在Android安全的研究工作中, ...
- 开启路由器的TCP拦截
TCP拦截即TCP intercept,大多数的路由器平台都引用了该功能,其主要作用就是防止SYN泛洪攻击.SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击 ...
随机推荐
- oracle expdp/exp ora-600/ora-39014报错处理
在一次数据迁移的时候,expdp导出报错,错误信息如下: 版本号:11.2.0.1 没有打PSU,查看报错的aler部分日志如下: 其中的某一些trc日志文件截图: Trace file d:\ora ...
- React实现一个简易版Swiper
背景 最近在公司内部进行一个引导配置系统的开发中,需要实现一个多图轮播的功能.到这时很多同学会说了,"那你直接用swiper不就好了吗?".但其实是,因为所有引导的展示都是作为np ...
- Dapr实现.Net Grpc服务之间的发布和订阅,并采用WebApi类似的事件订阅方式
大家好,我是失业在家,正在找工作的博主Jerry,找工作之余,总结和整理以前的项目经验,动手写了个洋葱架构(整洁架构)示例解决方案 OnionArch.其目的是为了更好的实现基于DDD(领域驱动分析) ...
- 学习笔记之——C语言 函数
采用函数的原因: 随着程序规模的变大,产生了以下问题: --main函数变得相当冗杂 --程序复杂度不断提高 --代码前后关联度提高,修改代码往往牵一发而动全身 --变量使用过多,命名都成了问题 -- ...
- 二十六、StatefulSet资源控制器
StatefulSet资源控制器 一.statefulset介绍 StatefulSet 是为了解决有状态服务的问题而设计的资源控制器. 匹配 Pod name ( 网络标识 ) 的模式为:(stat ...
- .NET性能系列文章二:Newtonsoft.Json vs. System.Text.Json
微软终于追上了? 图片来自 Glenn Carstens-Peters Unsplash 欢迎来到.NET性能系列的另一章.这个系列的特点是对.NET世界中许多不同的主题进行研究.基准和比较.正如标题 ...
- Java多线程(7):JUC(上)
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 前面把线程相关的生命周期.关键字.线程池(ThreadPool).ThreadLocal.CAS.锁和AQS都讲完了,现在就剩下怎么来用多线程了 ...
- 如何在 Inno Setup 中关联多种文件格式
问题描述 Inno Setup 是一款十分强大的 Windows 安装程序制作软件,可以通过编写并编译 iss 脚本来创建安装包.之前都是直接将 Pyinstaller 生成的文件夹压缩为 zip 格 ...
- 2022-11-13 Acwing每日一题
本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...
- Ian Lance Taylor
https://img.mukewang.com/5a9dfda50001933e23006728.png 在GCC的世界中,没有人比Ian更火.在GCC maillist中,Ian的身影呈现在前端中 ...