巧用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地址向被攻击端发出请求,而被攻击 ...
随机推荐
- 驱动开发:内核枚举ShadowSSDT基址
在笔者上一篇文章<驱动开发:Win10枚举完整SSDT地址表>实现了针对SSDT表的枚举功能,本章继续实现对SSSDT表的枚举,ShadowSSDT中文名影子系统服务描述表,SSSDT其主 ...
- 设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook)每本都有2元的折扣,小说类图书(NovelBook)每100元
现使用策略模式来设计该系统,绘制类图并编程实现 UML类图 书籍 package com.zheng; public class Book { private double price;// 价格 p ...
- Springboot+vue 实现汽车租赁系统(毕业设计二)(前后端项目分离)
文章目录 1.系统功能列表 2.管理员端界面 2.1 商家登录界面 2.2 用户信息管理界面 2.3 汽车管理界面 2.4 订单界面 2.5 汽车图形报表 2.6 优惠券新增界面 3.普通用户界面 3 ...
- 豆瓣电影排行简单数据爬取_pyhton
先安装一下requests和bs4库: cmd下面:python -m pip install bs4 -i https://pypi.douban.com/simple 代码: import req ...
- 基于GA遗传算法的TSP旅行商问题求解
import random import math import matplotlib.pyplot as plt import city class no: #该类表示每个点的坐标 def __in ...
- 十七、Job与Cronjob
Job 与 Cronjob 一.Job Job 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束. 特殊说明: 1.spec.template 格式同 Pod 2 ...
- Log4shell漏洞研究及其挖矿案例分析
本文首发于云影实验室,为本人创作,现转载到个人博客,记录一下. 原文链接:https://mp.weixin.qq.com/s/O2xHr2OEHiga-qTnbWTxQg Apache Log4j是 ...
- Ubuntu定时执行python脚本
Crontab命令 命令选项: crontab -l : 显示某个用户的任务计划 crontab -e :编辑某个用户的任务计划 cron服务 service cron start/stop/rest ...
- python-代码编程规范
命名 常用简写 名称相关 # 信息 information: info # 功能 function : func # 数量 quantity:qty PYQT相关 button : btn_ chec ...
- LoadRunner11脚本小技能之同步/异步接口分离+批量替换请求头
最近在公司又进行了一次LoadRunner11性能测试,技能又get了一点,继续Mark起来!!! 一.异步/同步接口分离 之前在另一篇博文中有提到"事务拆分"的小节,即一个htm ...