Files

72 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

2026-10-15 20:25:47 +08:00
# Dlink路由器CVE-2025-13306漏洞分析
> 呆呆的小丑
> 来源:https://www.iotsec-zone.com/article/523
# 漏洞信息
测试设备:D-link DWR-M920
影响范围:D-Link DWR-M920、DWR-M921、DIR-822K 和 DIR-825M 1.1.5
固件:固件版本 V1.1.5
![0.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhay7mhscrnp9tz5.png)
这里可以看到,漏洞跟 /boafrm/formDebugDiagnosticRun、host有关,然后命令执行少不了system之类函数,这里有个细节,漏洞评级5.3,初步判断应该是后台,如果是前台RCE不应该那么低
# 漏洞分析
![1.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhbeq8l5m4oa9mxp.png)
启动项分析,这里面看到 boa,http服务用的是 boa,同时根据返回报,快速判断
![2.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhbuhzng9jtlimrr.png)
![3.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhc1cvdbh39khh3i.png)
## Boa
这里学习了解到,Boa纯C语言写的最小化 webserver、逻辑简单、单进程、非常依赖boafrm框架
## 漏洞定位
![4.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhc9q2hnjew7fgan.png)
这里直接找到,在debug.html页面有相关调用
![5.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhch5pwup3h3hvhv.png)
## 后端分析
看到页面,有command,直接尝试cat /etc/passwd,发现直接可以执行命令,有点离谱,直接结束了吗
![6.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhcnqquc2oqhubpw.png)
通过后端,进一步分析漏洞 boafrm/formDebugDiagnosticRun来接收处理
![7.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhcthenolghjw8fs.png)
![8.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhd00ul0aht76p6r.png)
这里从请求中获取 submit-url参数,用来提交后跳去哪个页面,这里复现分析发现跳转存在信息探测风险
![9.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhd8vfomqs208inl.png)
![10.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhden3ht4fqvrzqs.png)
![11.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhdk8si6iyn9o5le.png)
这里也算是发现新漏洞,因为会检查参数是否合法,如果不合法就会报错
![12.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhdqys195ro2nav0.png)
这里看见对host参数处理逻辑,host给v5,然后v5字符拼接给v7,system(v7)导致命令执行
这里还进行了过滤,如果前三个字节是top|前4个字节是ping|flash all,这些不会执行,这里前几个字节匹配,可以尝试添加其他字符进行绕过,如下
![13.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhdxnbbbuv0o8wsf.png)
![14.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhe4n2x94ptxkfez.png)
绕过黑名单命令,到这里就结束了,从漏洞,到后端逻辑,到绕过
这里说一下,/boafrm/formDebugDiagnosticRun是提交表单执行命令,不是直接返回结果,需要访问/debug.htm来查看执行结果!
![15.png](https://www.iotsec-zone.com/api/image/v2/20251120/dedhecp3jmkkkcjru7.png)