前言
此教程适用于已开启Telnet的新版固件中兴光猫F650
至于如何开启Telnet,请看这里
起源
在得到Telnet后,我开始上网搜索,使用sendcmd来获取密码,但是尝试后发现,UserInfo表是空的,而DevAuthInfo又全是星号,挺秃然的,就开始想方设法去获得超级用户权限。
基本信息
网关型号:ZXHN F650(GPON ONU)
固件版本:V2.0.3P1T2
第一步 - 查看光猫数据库表
你需要使用sendcmd 1 DB p UserInfo
尝试查找有无telecomadmin帐号,如没有,请使用sendcmd 1 DB p DevAuthInfo
查看。如果你能找到明文的账户密码,到此就结束了,你就可以直接登录了。如果呈现为如图所示的,User和Pass全是星号,请接着往下看。
第二步 - 查找telecomadmin帐号
既然你已经看到全是星号,那么你肯定就看不到密码了,这时候你就需要去手动修改密码。首先,请查找刚刚呈现出来的一大串文字中,有哪几行(此处的行指的是一个Row,形如<DM name="Level" val="1"/>
。当你看到val="1"
的一个Row时,该Row即为拥有超级管理员权限的账户
第三步 - 修改telecomadmin密码
由于你看到的可能不止只有一个Row中有val="1"
,而又因为User是星号,无法判断,于是可以简单粗暴地直接修改所有拥有最高权限账号的密码,下面是步骤。
修改某个表的某个字段的值:sendcmd 1 DB set 表名 行数 字段名 字段值
解释:sendcmd 1 DB set 表名(即DevAuthInfo) 行数(即Row的id) 字段名(此文章中字段为Pass) 字段值(此处为要修改的密码)
比如你要修改Row id为3中的那个密码为123456,就用sendcmd 1 DB set DevAuthInfo 3 Pass 123456
第四步 - 登录管理页面
使用telecomadmin帐号,密码使用你刚刚所更改的密码,如我上面更改的123456,那么登录时输入的密码即为123456,登录后界面应该如此
如果telecomadmin被自动跳转成useradmin,请使用sendcmd 1 DB set DevAuthInfo 1 Level 1
将useradmin权限提高
至此,已经得到权限,关于如何防止改密码,请自行搜索,如密码仍被改,请重复教程。
参考资料:
光猫sendcmd命令详解 By 星之宇
me
试了更改账户level的值,看起来联通f4610u光猫不行,虽然改值成功,但是不能正常登录,联通的光猫,管理员登录url是192.168.1.1/cu.html,普通用户没有cu.html,怀疑哪里有登录逻辑。
西瓜
电信昨天刚刚送了我一个!蟹蟹
邮文
@西瓜 : 妈的,真有这事,揍他狗日的