Files
Penetration_Testing_POC/iot/Dlink路由器CVE-2025-13306漏洞分析.md
T

3.1 KiB
Raw Blame History

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 这里可以看到,漏洞跟 /boafrm/formDebugDiagnosticRun、host有关,然后命令执行少不了system之类函数,这里有个细节,漏洞评级5.3,初步判断应该是后台,如果是前台RCE不应该那么低

漏洞分析

1.png 启动项分析,这里面看到 boa,http服务用的是 boa,同时根据返回报,快速判断

2.png

3.png

Boa

这里学习了解到,Boa纯C语言写的最小化 webserver、逻辑简单、单进程、非常依赖boafrm框架

漏洞定位

4.png 这里直接找到,在debug.html页面有相关调用

5.png

后端分析

看到页面,有command,直接尝试cat /etc/passwd,发现直接可以执行命令,有点离谱,直接结束了吗

6.png

通过后端,进一步分析漏洞 boafrm/formDebugDiagnosticRun来接收处理

7.png

8.png

这里从请求中获取 submit-url参数,用来提交后跳去哪个页面,这里复现分析发现跳转存在信息探测风险

9.png

10.png

11.png

这里也算是发现新漏洞,因为会检查参数是否合法,如果不合法就会报错

12.png

这里看见对host参数处理逻辑,host给v5,然后v5字符拼接给v7,system(v7)导致命令执行

这里还进行了过滤,如果前三个字节是top|前4个字节是ping|flash all,这些不会执行,这里前几个字节匹配,可以尝试添加其他字符进行绕过,如下

13.png

14.png

绕过黑名单命令,到这里就结束了,从漏洞,到后端逻辑,到绕过

这里说一下,/boafrm/formDebugDiagnosticRun是提交表单执行命令,不是直接返回结果,需要访问/debug.htm来查看执行结果!

15.png