
红米CR660X刷OpenWrt报错1619 dhcp failed的解决方法
0x00
从家里翻出一个之前办宽带送的路由器,当时因为对应的OP刚出还不稳定所以扔一边了。想着已经过了这么多年了,是不是应该有稳定的固件了,一看确实已经更新了很多版本了,那就刷个机玩玩,顺便记录一下。
现有教程大多都是不知道从哪复制粘贴来的缝合怪,教程作者不知道其中的原理,碰到问题时解决方案是基本都是重启,换台机器,喝点热水类似这种的。
0x01 “刷机需要另一台OpenWrt才能完成”
这是一个绝对的以讹传讹。实际测试下来需要“另一台OpenWrt”只是表象,其实是需要一个Web服务器,能响应一个带有漏洞利用Payload就可以。所以任何形式的Web服务器都可以,IIS,Apache,或者自己用Python写一个都可以。这里提供一个基于Flask的样例。
1 | from flask import Flask |
这段代码因为没有提供任有效的路由,所以访问任何路径都会按404进行返回漏洞利用Payload。在随便一台电脑上运行这个程序,把电脑的网口和要刷机的CR660x设备Lan口连接就行了。
0x02 1619 dhcp failed
什么重启电脑,换热点,关DHCP(甚至还有固定信道和频段带宽,要不就是电脑挑路由器这种玄学理由都出来了)都没说到重点上。
重点是:返回Payload的设备IP必须是169.254.31.1,且和CR660x之间能相互ping通。
也就是说如果你用PC运行Web服务提供Payload,那就把你PC的网卡地址配成169.254.31.1,并允许从80端口入站,或者干脆关了防火墙。
如果你用另一台OP提供响应,那另一台OP的Lan地址就得是169.254.31.1
0x03 最后一步503
503了也没关系,其实SSH已经开了。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自Ooooo