前置
1、路由器基本都是阉割版的linux系统
2、架构以MIPS和ARM为主
3、一般含有telnet服务
4、很多基础命令以busybox的方式实现
可以看到涉及的两个方面,一方面是Web,另外一方面是二进制漏洞。
有些代码是用web语言实现的,有些代码是用C或者C++实现的
例如:审计web源码,发现有些目录(下面的goform)不存在,代码在二进制中实现,故使用黑盒测试
提取源码-失败
去各大官网下载固件
下载后将bin文件拖到kali下
binwalk -Me RG_NBR800GW-191023.bin
不断进入,直到到了root目录下
本来以为这里可以直接获取到源码的,没想到指向的是一个红色的var连接文件(不是真实文件)
提取源码-成功
后面我又下了一个,这个有56M,那么源码大概就在这里
之前的那个只有9.5M
第二次binwalk
binwalk -Me rgos.bin
拿到rootfs.ext3
mkdir /mnt/aaa
mount -o loop rootfs.ext3 /mnt/aaa
umount -v /mnt/aaa
解压后拿到源代码
路由器内被阉割过的命令
参考资料:
https://ppfocus.com/0/fibc0930e.html
https://www.anquanke.com/post/id/180714
原文始发于微信公众号(zz学安全):某路由器网站源码获取