Dlink路由器CVE-2025-13306漏洞分析

固件安全
2025-11-20 19:22
500152

漏洞信息

测试设备:D-link DWR-M920

影响范围:D-Link DWR-M920、DWR-M921、DIR-822K 和 DIR-825M 1.1.5

固件:固件版本 V1.1.5

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

漏洞分析

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

image-20251120171319-k4yd8qb.png

image-20251120172358-ap3v7i9.png

Boa

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

漏洞定位

image-20251120174226-79v58a9.png
这里直接找到,在debug.html页面有相关调用

image-20251120174532-pxqi7xz.png

后端分析

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

image-20251120174840-4vpx6rh.png

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

image-20251120175905-18wh0td.png

image-20251120180346-ny0o2r6.png

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

image-20251120182218-zj5hhlw.png

image-20251120182422-bygjszg.png

image-20251120182448-93nver3.png

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

image-20251120184045-mf6b71z.png

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

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

image-20251120190134-0mj2c5v.png

image-20251120190144-sf17n8p.png

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

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

image-20251120190424-bvzudt8.png

分享到

参与评论

0 / 200

全部评论 1

KDEV的头像
好家伙,34.89w阅读量
2025-12-03 11:07
呆呆的小丑的头像
多注水
2026-01-05 20:07
投稿
签到
联系我们
关于我们