- A+
D-LINK路由器调测指南
不同品牌路由器配置略有不通,现场配置时请参照实际路由器使用说明书进行配置。
下面介绍的是D-Link路由器的配置方法:1. D-Link路由器的硬件连接:
首先,接通电源。将设备自带的电源适配器一端插入路由器的电源孔,一端插入电源插座。
然后,连接WAN口线。我们需要将ONT光猫上的FE口(网线口)或者是FTTB小区宽带的网线连接到路由器的Internet口上。
再次,连接LAN口线。再利用一根网线,一端连接在路由器的任意一个LAN口上,另一端连接到电脑(台式机、笔记本)的网口上。
温馨提示:当电源接通后,可以看到面板上的电源指示灯、Internet指示灯以及对应的LAN口指示灯会亮起。2. 路由器的基本设置
首先,计算机IP地址设置。
在此我们以Windows XP系统为例。右击桌面上的“网上邻居”,打开属性,如下图所示:
再右击“本地连接”,打开属性,如下图所示:
在“常规”选项卡中选择“Internet协议(TCP/IP)”点击“属性”,选择“自动获得IP地址”和“自动获得DNS服务器地址”即可。如下图所示:
温馨提示:路由器默认开启DHCP功能,只要以上设置正常,那么,此计算机会自动通过此路由器得到IP地址等参数。所示:
此计算机已经成功的从路由器(192.168.0.1)上获得192.168.0.100这个IP地址。
其次,登录到路由器的管理界面。
打开浏览器,在此以IE为例,在地址栏中输入:http://192.168.0.1,(不同路由器的默认初始化IP地址不同,通常为192.168.0.1,路由器上会有标签信息,包含初始化IP,管理用户名和密码),登录到路由器的管理界面,对路由器进行各项配置,如下图所示:
再次,设置WAN口,即Internet口的设置。
此步骤主要是设置用户当前的上网类型,一般分为PPPoE、动态IP、静态IP、PPTP、L2TP等。我公司采用的是PPPOE拨号方式,因此选择此类上网类型。选择后会弹出PPPoE的设置界面,如下图所示:
选择“自动拨号”和“自动保存用户名和密码”后单击“保存”。
为了防蹭网,可以在无线连接配置中设置无线网络名称和访问密码。在无线网络名称中可加入中文,如设置为“admin张三”,那么在访问该无线网络时,网络名称会变为“admin%&@(&!”等乱码,可以保障网络安全性。
最后,在服务便利贴上记录用户的宽带上网账号、密码、无线网络名称和无线网络访问密码,将服务便利贴粘贴到光猫或路由器等显眼处,提醒用户查看,以及后期如遇网络问题,可关电重启路由器后再试。
我是如何反编译D-Link路由并发现它的后门的
OK,又是周末晚上,没有约会,只有一大瓶Shasta汽水和全是快节奏的音乐…那就研究一下程序吧。
一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中:
/bin/webs中的字符信息
基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:
明泰科技的自定义函数
这个alpha_auth_check函数看起来很有意思!
这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:
调用alpha_auth_check函数
我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。
寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL:
$s2是一个指向一个数据结构体的指针
我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子:
structhttp_request_t{charunknown[0xB8];char*url;//Atoffset0xB8intothedatastructure};intalpha_auth_check(structhttp_request_t*request);
alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1;
alpha_auth_check函数代码片段
这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。
然而,这最后一个strcmp却是相当的吸引眼球:
alpha_auth_check函数中一个非常有趣的字符串比较
这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。
我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。
那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数:
事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的:
检查HTTP头信息中的User-Agent值
将http_request_t + 0xD0指针指向头信息User-Agent字符串
这代码实际上就是:
if(strstr(header,"User-Agent:")!=NULL){http_request_t->0xD0=header+strlen("User-Agent:")+strspn(header,"\t");}
知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构:
#defineAUTH_OK1#defineAUTH_FAIL-1intalpha_auth_check(structhttp_request_t*request){if(strstr(request->url,"graphic/")||strstr(request->url,"public/")||strcmp(request->user_agent,"xmlset_roodkcableoj28840ybtide")==0){returnAUTH_OK;}else{//Theseargumentsareprobablyuser/passorsessioninfoif(check_login(request->0xC,request->0xE0)!=0){returnAUTH_OK;}}returnAUTH_FAIL;}
换句话说,如果浏览器的User-Agent值是“xmlset_roodkcableoj28840ybtide”(不带引号),你就可以不经任何认证而能访问web控制界面,能够查看/修改路由器的设置(下面是D-Link路由器(DI-524UP)的截图,我没有 DIR-100型号的,但DI-524UP型号使用的是相同的固件):
访问型号DI-524UP路由器的主界面
基于HTML页上的源代码信息和Shodan搜索结果,差不多可以得出这样的结论:下面的这些型号的D-Link路由器将会受到影响:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,几款Planex路由器显然也是用的同样的固件程序:
BRL-04UR
BRL-04CW再也不怕设置D-LINK路由器了
第一步:设备连接
D-Link路由上一共有5个网线接口,4个是LAN接口,用来连接电脑的,4个LAN接口的任意一个都可以。还有一个WAN/Internet接口,用来连接modem或者小区宽带的接口。
PS:注意一定要把连接电脑的那根网线插在LAN接口上面,否则无法打开192.168.0.1登陆页面,很多用户在这一步出错。
第二步:IP地址设置
必须要把电脑的ip地址配置在192.168.0.2-192.168.0.254这个范围内的一个地址,否则无法正常配置192.168.0.1路由器。不同的电脑系统在操作上略有不同,下面将分别介绍XP、Win 7和Win 8系统下ip地址的设置方法。
第三步:Windows XP电脑ip地址设置
步骤1、鼠标右击“网上邻居”–>选择“属性”打开“本地连接”。
步骤2、鼠标右击“本地连接”–>选择“属性”。
步骤3、点击“Internet协议(TCP/IP)”–>点击“属性”。
步骤4、选择“自动获得ip地址”和“自动获得DNS服务器地址”–>点击“确定”。
第三步:Windows 7电脑ip地址设置
步骤1、右击桌面或者开始程序中的“网络”–>选择“属性”–>点击“更改适配器设置”打开“本地连接”。
步骤2、点击“更改适配器设置”。
步骤3、鼠标右击“本地连接”–>选择“属性”。
步骤4、选择“Internet协议版本4(TCP/IPv4)”–>点击“属性”。
步骤5、选择“自动获得ip地址”和“自动获得DNS服务器地址”–>点击“确定”。
第三步:Windows 8电脑ip地址设置
步骤1、同时安装键盘上面的Windows(键盘左下角ctrl和alt中间那个键)+R两个按键,打开运行程序界面,–>输入“ncpa.cpl”–>点击“确定”,打开“以太网”配置界面。
步骤2、鼠标右击“以太网”–>选择“属性”—>选择“Internet协议版本4(TCP/IPv4)”–>点击“属性”(或者双击“Internet协议版本4(TCP/IPv4)”)。
步骤3、勾选”自动获得ip地址”和“自动获得DNS服务器地址”选项–>点击”确定”。
第四步:上网帐号及其它参数设置
步骤1、在浏览器里棉输入192.168.0.1,然后按下回车键,打开192.168.0.1的登陆页面。
步骤2、输入默认的管理帐号:admin,密码:admin(或者是空密码)。
步骤3、点击左侧的“设置向导”。
步骤4、点击“下一步”进行步骤1的设置 。
步骤5、先输入一次“旧密码”—>“新密码”—>“确认新密码”—>“下一步”。
步骤6、“选择时区”,一般选择北京时间—>“下一步”。
步骤7、选择“pppoe”—>“下一步”。
步骤8、输入宽带运营商提供给你的上网帐号和密码,然后点击“下一步”。
步骤9、设置无线Wi-Fi:填写“无线网络ID”(也就是wi-fi的名称)—>“WEP安全方式”建议选择WPA或者WPA2—>填写“密码”(wi-fi连接的验证密码)—>点击“下一步”。
步骤10、点击“重新激活”是刚才的设置生效。
D-Link系列无线路由器设置向导
前言:路由器和无线路由器虽然普及得很快,大伙用得也很方便,但还是有很多刚接触路由器的朋友,不懂得如何设置路由器,毕竟它不是跟非网管交换机一样,插上即可用。而厂商一般都配有说明书,有些却不够简明,过于复杂,有些虽然提供了傻瓜化的安装向导,但在设置的定制化方面显然无法体现。今天,我们就用最浅显易懂的图文并茂的方式表达出来,希望对菜鸟朋友们有点帮助。
1.接好路由器和电脑之后(如果是有线连接的话,当然得将网线接好;若是打算无线上网的话,初次设置最好把网线接上,免得不必要的麻烦。)启动电脑和路由器,进入系统后,打开浏览器,在地址栏内输入一般路由器默认网关:”192.168.1.1”,然后回车。有可能会弹出窗口需要我们输入帐号和密码,根据说明书上的帐号密码输入确定即可进入用户操作面板。登录操作面板的帐号和密码可以修改,后边我们也会提到。
进入操作面板首页之后,马上就可以看到联机设定精灵按钮。大家别误以为是什么特殊功能,其实就是安装设置向导,只是名字好听点而已。
点击该按钮,开始我们安装设置之旅。
2.第一站步骤信息告知。点击联机设定精灵按钮后,页面跳转到步骤信息页面,,告知用户接下来要进行的步骤,也算是有交代。
无可操作内容,直接点击下一步。
3.接着进入了设定密码页面。这个密码就是方才我们登录操作面板时的密码,现在可以修改,免得被别人通过默认密码有意或无意修改设置,造成麻烦。输入默认密码,然后在键入两次新密码,确认无误,点击下一步。注意,请记好您的密码。
4.接着来到了选择时区页面,太熟悉的设置了。二话不说,选择北京,香港,新加坡,台北正8区就可以了。当然,如果你在国外,也可以选择相应的时区。在南极点或北极点上网则随便选……选好后,点击下一步。
5.然后我们来到选择WAN型态页面,这里提供了四个连接选项,分别是动态IP地址,固定IP地址,PPPoverEthernet(即PPPoE)以及其他WAN型态。大家可以根据自己的具体情况设置,一般大家用的都是ADSL拨号上网方式连接,那我们选择PPPoverEthernet,点击下一步。
6.进入设定PPPoE页面后,我们看到只有简单的几个输入框,在第一个框内输入ISP服务商给你的帐号,也就是拨号上网用的帐号,然后在下面输入密码。至于服务名称,不输入也可以。然后点击下一步,完成此步骤。
7.然后我们来到设定无线通讯联机页面。首先我们在无线网络ID框内输入我们希望通过无线连接到路由器的ID,可以随便输入,主要用于识别在同一环境下的多个无线设备。然后选择无线设备所支持的信道以及加密方式。这里我们选择了WPA-PSK。用户需在下面的共享密码框内输入8至64个字母的密码。当然也可以选择OPEN的共享方式,就是无线覆盖范围内的任何人都可以通过此路由器连接网络,当然,我们建议输入密码,然后再在电脑上输入同样的密码连接路由器。
8.进入设置完成页面,也就说明我们已经成功完成了设置向导,点击上一步可以回到上一个页面重新设置。点击重新激活,储存我们前面几个步骤的设置,并激活,我们就可以正常上网了。
一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中:
基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:
这个alpha_auth_check函数看起来很有意思!
这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:
我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。
寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL:
我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子:
struct http_request_t
{
char unknown[0xB8];
char *url; // At offset 0xB8 into the data structure
};
int alpha_auth_check(struct http_request_t *request);
alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1;
这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。
然而,这最后一个strcmp却是相当的吸引眼球:
这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。
我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。
那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数:
事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的:
这代码实际上就是:
if(strstr(header, "User-Agent:") != NULL)
{
http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t");
}
知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构:
#define AUTH_OK 1
#define AUTH_FAIL -1
int alpha_auth_check(struct http_request_t *request)
{
if(strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
{
return AUTH_OK;
}
else
{
// These arguments are probably user/pass or session info
if(check_login(request->0xC, request->0xE0) != 0)
{
return AUTH_OK;
}
}
return AUTH_FAIL;
}
换句话说,如果浏览器的User-Agent值是“xmlset_roodkcableoj28840ybtide”(不带引号),你就可以不经任何认证而能访问web控制界面,能够查看/修改路由器的设置(下面是D-Link路由器(DI-524UP)的截图,我没有 DIR-100型号的,但DI-524UP型号使用的是相同的固件):
基于HTML页上的源代码信息和Shodan搜索结果,差不多可以得出这样的结论:下面的这些型号的D-Link路由器将会受到影响:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,几款Planex路由器显然也是用的同样的固件程序:
BRL-04UR
BRL-04CW
你很酷呀,D-Link。
原文出处:devttys0
译文出处:外刊IT评论
译文链接:http://www.vaikan.com/reverse-engineering-a-d-link-backdoor/关于21CTO社区
21CTO.com是中国互联网第一技术人脉与社交平台。我们为国内最优秀的开发者提供社交、学习等产品,帮助企业快速对接开发者,包括人才招聘,项目研发,顾问咨询服务。
D-Link锐捷路由器设置教程 肆意
你若要任性,就需要
有好wifi!
D-Link锐捷路由器设置教程
welcome
此教程为D-Link路由器掉线后的简单重设教程
不用急,按照教程一步步设置噢!
第1步
连着路由器发出的wifi(如果掉线了,wifi名为DD—WRT)
登录路由器设置界面:浏览器地址栏输入192.168.1.1
用户名和密码都是admin 2点击管理>命令 3在指令解释器中输入:
mentohust -u锐捷帐号 -p密码 –nvlan2 -a1 -d2 -v4.85
注:-前为一空格。锐捷账号和密码不是眼前的“锐捷账号,密码”这中文字。
4输入完指令后点击“保存为防火墙指令”5点击编辑6点击运行命令7点击无线安全
安全模式:WPA2 Personal
WPA算法:AES
WPA共享秘钥:输入你要设置的wifi密码8点击应用>保存设置9点击无线>基础设置
无线模式:访问点(AP)
无线网络模式:NG-Mixed
无线网络名(SSID):输入你要设置的wifi名(英文或数字)
无线频道:6-2.437GHz
频道宽度:40MHz10
点击应用>保存设置
重启
路由器
(拔插一次电源线)路由器电源!
PHILOSOPHY
感谢你的支持,如有不懂,欢迎咨询!
TP-LINK和D-LINK两种无线路由器的设置方法
在我们第一次配置无线宽带路由器时,参照说明书找到无线宽带路由器默认的IP地址是192.168.1.1,默认子网掩码是255.255.255.0
1、 TP-LINK无线路由器的设置方法
我们使用电脑,打开一个IE浏览器的窗口,在地址栏上输入http://192.168.1.1(输入密码默认是admin,admin)即可进入。(如果路由器忘了密码或者不是新买的可以通过 用牙签按住 reset 键10秒左右就可以回复出厂设置了。)
配置界面,在作边点击设置向导。
进入设置向导界面
点击下一步,进入上网方式设置,我们可以看到有四种上网方式的选择,如果你家是拨号的话那么就用PPPoE。动态IP一般电脑直接插上网络就可以用的,上层有DHCP服务器的。静态IP一般是专线什么的,也可能是小区带宽等,上层没有DHCP服务器的,或想要固定IP的。因为我拨号所以选择pppoe。
选择PPPOE拨号上网就要填上网帐号跟密码,(就是开通的宽带账号和密码)这个应该大家都明白,填进去就OK啦。
然后下一步后进入到的是无线设置,我们可以看到信道、模式、安全选项、SSID等等,一般SSID就是一个名字,你可以随便填,然后模式大多用11bgn.无线安全选项我们要选择wpa-psk/wpa2-psk,这样安全,免得轻意让人家破解而蹭网。
下一步就设置成功啦
点击完成,路由器会自动重启,这时候你耐心等待吧。成功后出现的界面。
2、 D-LINK无线路由器的设置方法
打开浏览器,在浏览器地址栏中输入你的路由器的地址,我的路由器的地址是192.168.0.1.所以我就输入192.168.0.1,点击回车。
弹出输入用户名和密码的对话框,输入你的登陆用户名和密码(一般都在路由器的背面),点击回车
进入路由器设置界面
点击“设置向导”,在右边出现的界面,点击下一步
自动检测因特网端口类型,估计一小会,就可以检测出你所使用的类型,我是用的联通的宽带,然后点击下一步。
输入你的用户名和密码,点击完成。
过一会,点击上面的状态,可以看到已经连接到Internet。
在这个界面,你可以看到你的IP地址,子网掩码,默认网关,DNS服务器
看到已经连接到Internet后,点击上面的无线选项,会出现设置无线网络的界面。
无线网络标识:你的无线网络的名字,如我的是dlink
安全选项:选择你的无线密码的加密方式,推荐的加密方式
密码:输入你的无线网络的密码
其余的都保持默认就可以了,点击应用。
这样dlink无线路由器就设置好了。你就可以使用笔记本上网了。
注意
电脑和路由器需要进行通讯,因此首先要对电脑进行设置。对于绝大多数的电脑来说,默认不需要做任何设置,无法连接网络时在看下面设置方法。
如果您有苹果的iMac笔记本,设置IP地址的方法请参考:
http://service.tp-link.com.cn/detail_article_196.html
接下来简单地说一下搜索连接的过程。启用无线网卡,搜索WIFI信号,找到无线路由器的SSID名称,双击连接。
正在获取WIFI信息,连接到无线路由器
接下来输入之前设置的密码即可。
正在连接,等待一会即可,连接上了就可以上网了。D-link路由器设置
登录到路由器的管理界面。
打开浏览器,在此以IE为例,在地址栏中输入:http://192.168.0.1,即可登录到路由器的管理界面,对路由器进行各项配置,如下图所示:
再次,设置WAN口,即Internet口的设置。
此步骤主要是设置用户当前的上网类型,一般分为PPPoE、动态IP、静态IP、PPTP、L2TP等。家庭用户大多数使用的是ADSL或者是小区宽带对应的是PPPoE。因为我是在公司里做的实验,我们公司使用的是静态IP方式上网。用户在此不用过多担心自己使用的到底是哪种上网方式,因为智能的路由器会自动侦测用户的上网类型,如下图所示:
稍等片刻之后,就可以看到如下所示:
在这个图中,可以看到路由器已经成功侦测出我当前的上网类型是静态IP,已经成功连接到internet。
如果是家庭ADSL或小区宽带用户,这里会弹出PPPoE的设置界面,如下图所示:
注意:如果用户不慎丢失了用户名和密码,则可以咨询宽带接入商。
如果用户不希望路由器自动侦测上网类型,也可以进行手动设置,如下图所示:
点击“手动设置”后,会出现下面的界面,用户也可以根据实现上网类型进行设置。
不要忘了“保存设置”。
点击“立即重新启动”,使用设置生效。
D-Link路由器怎么设置
一共需要三个步骤:1、设备连接。2、ip地址设置。3、上网帐号及其它参数设置。设备连接:D-Link路由上一共有5个网线接口,4个是LAN接口,还有一个WAN/Internet接口。另外还要注意路由器怎么设置密码的问题。
第一步:设备连接
D-Link路由上一共有5个网线接口,4个是LAN接口,用来连接电脑的,4个LAN接口的任意一个都可以。还有一个WAN/Internet接口,用来连接modem或者小区宽带的接口。
PS:注意一定要把连接电脑的那根网线插在LAN接口上面,否则无法打开192.168.0.1登陆页面,很多用户在这一步出错。
第二步:IP地址设置
必须要把电脑的ip地址配置在192.168.0.2-192.168.0.254这个范围内的一个地址,否则无法正常配置192.168.0.1路由器。不同的电脑系统在操作上略有不同,下面将分别介绍XP、Win 7和Win 8系统下ip地址的设置方法。
第三步:Windows XP电脑ip地址设置
步骤1、鼠标右击“网上邻居”–>选择“属性”打开“本地连接”。
步骤2、鼠标右击“本地连接”–>选择“属性”。
步骤3、点击“Internet协议(TCP/IP)”–>点击“属性”。
步骤4、选择“自动获得ip地址”和“自动获得DNS服务器地址”–>点击“确定”。
第三步:Windows 7电脑ip地址设置
步骤1、右击桌面或者开始程序中的“网络”–>选择“属性”–>点击“更改适配器设置”打开“本地连接”。
步骤2、点击“更改适配器设置”。
步骤3、鼠标右击“本地连接”–>选择“属性”。
步骤4、选择“Internet协议版本4(TCP/IPv4)”–>点击“属性”。
步骤5、选择“自动获得ip地址”和“自动获得DNS服务器地址”–>点击“确定”。
第三步:Windows 8电脑ip地址设置
步骤1、同时安装键盘上面的Windows(键盘左下角ctrl和alt中间那个键)+R两个按键,打开运行程序界面,–>输入“ncpa.cpl”–>点击“确定”,打开“以太网”配置界面。
步骤2、鼠标右击“以太网”–>选择“属性”—>选择“Internet协议版本4(TCP/IPv4)”–>点击“属性”(或者双击“Internet协议版本4(TCP/IPv4)”)。
步骤3、勾选”自动获得ip地址”和“自动获得DNS服务器地址”选项–>点击”确定”。
第四步:上网帐号及其它参数设置
步骤1、在浏览器里棉输入192.168.0.1,然后按下回车键,打开192.168.0.1的登陆页面。
步骤2、输入默认的管理帐号:admin,密码:admin(或者是空密码)。
步骤3、点击左侧的“设置向导”。
步骤4、点击“下一步”进行步骤1的设置 。
步骤5、先输入一次“旧密码”—>“新密码”—>“确认新密码”—>“下一步”。
步骤6、“选择时区”,一般选择北京时间—>“下一步”。
步骤7、选择“pppoe”—>“下一步”。
步骤8、输入宽带运营商提供给你的上网帐号和密码,然后点击“下一步”。
步骤9、设置无线Wi-Fi:填写“无线网络ID”(也就是wi-fi的名称)—>“WEP安全方式”建议选择WPA或者WPA2—>填写“密码”(wi-fi连接的验证密码)—>点击“下一步”。
步骤10、点击“重新激活”是刚才的设置生效。
通过以上详细步骤,就可以解决192.168.0.1路由器怎么设置这个问题,关于设置中的各种问题,文中已经详细给出,请网友仔细阅读进行设置。另外还要注意密码的设置。关于路由器的设置其他相关问题,小编在相关阅读中推荐阅读,希望给大家提供帮助。
一时兴起,我下载了D-link无线路由器(型号:DIR-100 revA)的固件程序 v1.13。使用工具Binwalk,很快的就从中发现并提取出一个只读SquashFS文件系统,没用多大功夫我就将这个固件程序的web server(/bin/webs)加载到了IDA中:
基于上面的字符信息可以看出,这个/bin/webs二进制程序是一个修改版的thttpd,提供路由器管理员界面操作功能。看起来是经过了台湾明泰科技(D-Link的一个子公司)的修改。他们甚至很有心计的将他们很多自定义的函数名都辅以“alpha”前缀:
这个alpha_auth_check函数看起来很有意思!
这个函数被很多地方调用,最明显的一个是来自alpha_httpd_parse_request函数:
我们可以看到alpha_auth_check函数接收一个参数(是存放在寄存器$s2里);如果alpha_auth_check返回-1(0xFFFFFFFF),程序将会跳到alpha_httpd_parse_request的结尾处,否则,它将继续处理请求。
寄存器$s2在被alpha_auth_check函数使用前的一些操作代码显示,它是一个指向一个数据结构体的指针,里面有一个char*指针,会指向从HTTP请求里接收到的各种数据;比如HTTP头信息和请求地址URL:
我们现在可以模拟出alpha_auth_check函数和数据结构体的大概样子:
struct http_request_t
{
char unknown[0xB8];
char *url; // At offset 0xB8 into the data structure
};
int alpha_auth_check(struct http_request_t *request);
alpha_auth_check本身是一个非常简单的函数。它会针对http_request_t结构体里的一些指针进行字符串strcmp比较操作,然后调用check_login函数,实际上就是身份验证检查。如果一旦有字符串比较成功或check_login成功,它会返回1;否者,它会重定向浏览器到登录页,返回-1;
这些字符串比较过程看起来非常有趣。它们提取请求的URL地址(在http_request_t数据结构体的偏移量0xB8处),检查它们是否含有字符串“graphic/” 或 “public/”。这些都是位于路由器的Web目录下的公开子目录,如果请求地址包含这样的字符串,这些请求就可以不经身份认证就能执行。
然而,这最后一个strcmp却是相当的吸引眼球:
这个操作是将http_request_t结构体中偏移量0xD0的字符串指针和字符串“xmlset_roodkcableoj28840ybtide”比较,如果字符匹配,就会跳过check_login函数,alpha_auth_check操作返回1(认证通过)。
我在谷歌上搜索了一下“xmlset_roodkcableoj28840ybtide”字符串,只发现在一个俄罗斯论坛里提到过它,说这是一个在/bin/webs里一个“非常有趣”的一行。我非常同意。
那么,这个神秘的字符串究竟是和什么东西进行比较?如果回顾一下调用路径,我们会发现http_request_t结构体被传进了好几个函数:
事实证明,http_request_t结构体中处在偏移量 0xD0处的指针是由httpd_parse_request函数赋值的:
这代码实际上就是:
if(strstr(header, "User-Agent:") != NULL)
{
http_request_t->0xD0 = header + strlen("User-Agent:") + strspn(header, " \t");
}
知道了http_request_t偏移量0xD0处的指针指向User-Agent头信息,我们可以推测出alpha_auth_check函数的结构:
#define AUTH_OK 1
#define AUTH_FAIL -1
int alpha_auth_check(struct http_request_t *request)
{
if(strstr(request->url, "graphic/") ||
strstr(request->url, "public/") ||
strcmp(request->user_agent, "xmlset_roodkcableoj28840ybtide") == 0)
{
return AUTH_OK;
}
else
{
// These arguments are probably user/pass or session info
if(check_login(request->0xC, request->0xE0) != 0)
{
return AUTH_OK;
}
}
return AUTH_FAIL;
}
换句话说,如果浏览器的User-Agent值是“xmlset_roodkcableoj28840ybtide”(不带引号),你就可以不经任何认证而能访问web控制界面,能够查看/修改路由器的设置(下面是D-Link路由器(DI-524UP)的截图,我没有 DIR-100型号的,但DI-524UP型号使用的是相同的固件):
基于HTML页上的源代码信息和Shodan搜索结果,差不多可以得出这样的结论:下面的这些型号的D-Link路由器将会受到影响:
DIR-100
DI-524
DI-524UP
DI-604S
DI-604UP
DI-604+
TM-G5240
除此之外,几款Planex路由器显然也是用的同样的固件程序:
BRL-04UR
BRL-04CW
你很酷呀,D-Link。
脚注:万能的网友指出,字符串“xmlset_roodkcableoj28840ybtide”是一个倒序文,反过来读就是“editby04882joelbackdoor_teslmx”——edit by 04882joel backdoor _teslmx,这个后门的作者真是位天才!