首页
社区
课程
招聘
[原创]磊科NW705P破解+python代码
发表于: 2013-2-28 10:16 33500

[原创]磊科NW705P破解+python代码

2013-2-28 10:16
33500

型号:磊科(Netcore)NW705P
固件版本:netcore(NW705P)CN-V2.0.3798
漏洞描述:192.168.1.1/param.file.tgz(假设网关IP为:192.168.1.1)这个文件为路由器配置文件,其可以不经过WEB验证直接下载,文件经过加密。
以下为解码并读取账户与密码的pyton3.2代码(草稿,无优化)见附件。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 6
支持
分享
最新回复 (32)
雪    币: 312
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我也有一个netCore三层,但不是这个型号
2013-2-28 11:13
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
不同型号都可以试试,说不定有同样的漏洞。
我也是闲着没事研究下自己家的路由器发现的。
2013-2-28 12:44
0
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
楼主,能否说下怎么分析路由?或者说怎么知道路由器里存了哪些文件。貌似我的路由跟你的一样的。。?
2013-2-28 12:59
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5

我用的是遨游浏览器的开发者工具,这工具分析路由页面还是不错的,整个架构都很清楚。
上传的附件:
  • 1.jpg (50.80kb,62次下载)
2013-2-28 13:52
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6

楼主也是小菜。
上传的附件:
  • 2.jpg (59.65kb,245次下载)
2013-2-28 13:56
0
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
谢谢楼主指点,懂了。回去捣鼓下去。。
2013-2-28 14:07
0
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
8
看了这段python代码,明白如何解码得到用户和密码,但是楼主能否给一下分析过程?为什么这样一解就得到用户名和密码了呢?是通过逆向路由器的固件吗?
2013-2-28 14:52
0
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
貌似分析网页加密脚本就可以了。看楼主图片,貌似是这么分析的。逆向固件不好办吧
2013-2-28 14:54
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
这个文件可以越权下载是在分析路由器的参数备份功能时发现的。
通过用WinHex对不同密码的配置文件进行比较,总结出它的算法和各个值的偏移。
上传的附件:
2013-2-28 15:03
0
雪    币: 1098
活跃值: (193)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=seele;1146690]这个文件可以越权下载是在分析路由器的参数备份功能时发现的。
通过用WinHex对不同密码的配置文件进行比较,总结出它的算法和各个值的偏移。
[/QUOTE]

明白了。谢谢。
2013-2-28 15:31
0
雪    币: 143
活跃值: (263)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12
如果是你家的路由器,我不知道无线密码?怎么下?翻窗子去连有线?
2013-2-28 16:06
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我的路由器 ARGtek 下载地址http://192.168.1.254/config.dat 同样可以看到帐号密码..但是,不登录是不行的.
2013-2-28 18:45
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
这个可以装个VM虚拟机用奶瓶系统破解WIFI密码,网上很多教程。
2013-2-28 19:30
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
嗯,我另外一个贝尔e8-C光猫RG200O-CA也是要通过验证才能取得配置文件,不过分析文件后还能发现一个隐藏超级管理用户和密码,这个文件没有加密。
上传的附件:
2013-2-28 19:36
0
雪    币: 143
活跃值: (263)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
16
用过奶瓶,没成功过,抓的包太少,分析不出来,而且奶瓶好像需要特定的网卡,偶的笔记本自带的网卡检不到。
好像win下也有类似的工具,昨用就不知道了。
2013-2-28 20:02
0
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
17
看楼主一席话,明白了好多困扰我许久的问题。主要在工具和思路我一开始就没找对。。哎。
2013-2-28 20:28
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
18
刚学python,希望能和楼主学习下~
2013-2-28 20:33
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
问一下lz,是不是只有连上内网才能下载破解?
2013-2-28 21:48
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
嗯,这个是你连内网后破解路由器用的。
2013-2-28 22:13
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
我也是刚学用python,比C好用多了。现在写程序都基本用python写,很方便。
2013-2-28 22:15
0
雪    币: 244
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
哥啊,我家里的就是这个,别搞破坏啊
2013-3-2 11:48
0
雪    币: 3366
活跃值: (1353)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
23
我又找了一款路由,他密码提交,是自己提交给自己,怎么处理?我传下脚步文件,麻烦LZ给看下可以吗?
UserPassSet.rar
上传的附件:
2013-3-2 13:22
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
24
[QUOTE=CRoot;1147345]我又找了一款路由,他密码提交,是自己提交给自己,怎么处理?我传下脚步文件,麻烦LZ给看下可以吗?
UserPassSet.rar[/QUOTE]
<FORM method=post name=UserPassSet action=UserPassSet.cgi>
这个要看UserPassSet.cgi这个程序怎么运行,路由器通过内置的CGI程序来完成读写文件,上传文件等等来实现静态页面无法实现的功能。
2013-3-2 21:51
0
雪    币: 253
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
我这个路由器的实现修改密码的函数有这几个
function DataRequest(module_name,param,callback)
{
	this.url = modules[module_name];
 	this.callback = callback;
 	var _this = this;
 	$.post(igd.router.cgi_base_path+this.url,param,function(data)
{
  	try
		{
   			data =eval('('+ data+')');
  		}
	catch(e)
	{
   		data = "error";
   		return;
  	}
 	if(_this.callback)
	{
   		_this.callback(data);
  	}
});
}

function set_password()
{
 if(!check_input("password"))return;
 var new_user_name = $("#new_user_name").val();
 var igd_webs_password1 = $("#igd_webs_password1").val();
 var igd_webs_password2 = $("#igd_webs_password2").val();
 var obj = new Object();
 obj.new_user_name = new_user_name;
 obj.password1 = igd_webs_password1;
 obj.password2 = igd_webs_password2;
 if(obj.password1 != obj.password2){
  alert("两次输入的密码不一致");
  return;
 }
 DataRequest("UserPassSet",obj,function(data)
 {
  user_password_load();
  if(data =="SUCCESS")
  show_message("save_success");
  else
    show_message("msg_success",igd.make_err_msg(data));
 });

其中:
UserPassSet为"UserPassSet.cgi"
igd.router.cgi_base_path="/router/"
下面这两个函数是打辅助的,可以忽略不看:
function loadhtml(html_name,init_function){

 current_html = html_name;
 $("#content_layer").load("./"+html_name+".htm",function(){
  if(html_name != "service"){
   if(help_info == '1'){
    $("#help_content").load("./help/help_CN_"+html_name+".htm",function(){$("#help").show();});
   }
   hide_select();
   this.style.border = "solid 1px #8bafd3";
   this.style.borderTop = "none";
   document.getElementById("fragment_menu").className = "on";
  }else{
   $("#help").hide();
   document.getElementById("fragment_menu").className = "off";
   this.style.border = "none";
  }
  init_input();
  //init_icon();
  var temp_text = "";

  html_map = language_map[html_name];
  for(var i in html_map){
   var reg=new RegExp(html_map[i]["CN"],"g");
   var temp_text = this.innerHTML.replace(reg,html_map[i][language_type]);
   this.innerHTML = temp_text;
  }

  var html_map = language_map["common_text"];
  for(var i in html_map){
   var reg=new RegExp(html_map[i]["CN"],"g");
   var temp_text = this.innerHTML.replace(reg,html_map[i][language_type]);
   this.innerHTML = temp_text;
  }
  var c_left=(parseInt(document.documentElement.scrollWidth)-630)/2+70+"px";
  var addDivPanel = new Xfile.control.drag(current_html+"_add_div",{left:c_left, top:'220px'});
   addDivPanel.init(current_html+"_add_div");

  hide_add_div();

  if(init_function != null)
  init_function();
 });

}

function user_password_load()
{
 loadhtml("password",null);
}

但是post内置CGI都要web权限,所以直接POST修改密码不能越权实现。
2013-3-2 22:27
0
游客
登录 | 注册 方可回帖
返回
//