漏洞关键信息 受影响产品详情 供应商: D-Link 产品: D-Link DWR-M960 受影响版本: Hardware B1, Firmware V1.01.07 漏洞类型: 缓冲区溢出(二进制) 提交者: LX-66-LX 供应商主页: https://www.dlink.com/ 固件链接: http://downloads.d-link.co.za/DWR/dwrm960/firmware/B1/ 漏洞描述 在审查D-Link DWR-M960(Hardware B1, Firmware V1.01.07)的安全时,发现WLAN加密配置端点 中存在一个缓冲区溢出漏洞。漏洞位于 函数中。该函数处理无线安全设置(WEP、WPA等)。在函数接近结束处(验证逻辑后),它从HTTP请求中检索 参数。然后,它执行一个 操作,将 的内容复制到名为 的全局变量/缓冲区中。代码未验证输入字符串的长度是否超过目标缓冲区的大小。恶意攻击者可以通过提供超长的 参数来利用此漏洞,从而导致缓冲区溢出。 漏洞位置 (函数: ) 根因 漏洞的根本原因是 函数中对 函数的不安全使用。 1. 该函数执行配置逻辑,然后准备保存设置并重启WLAN服务。它从HTTP请求中检索 参数。 2. 如果配置验证( )成功,代码将进入 块(或直接执行它)。在此,它执行系统命令重启WLAN,并执行脆弱的复制操作。 将用户控制的 复制到固定大小的 缓冲区中,未进行长度验证,导致内存损坏。 影响 攻击者可以利用此漏洞产生多种恶意后果,包括: 拒绝服务(DoS): 覆盖关键全局变量或数据段,导致Web服务器(boa)崩溃或设备意外重启。 任意代码执行: 通过精心设计的负载覆盖函数指针或其他内存控制结构,攻击者可以劫持执行流并以Web服务器的特权(通常是root)执行任意代码。 概念验证(PoC) 漏洞可以通过向 发送POST请求触发。该请求需要满足内部验证(如 、 )等参数才能访问脆弱的代码路径,同时携带超长的 。 请求示例: 本地复现截图 设置环境使用firmwa 运行PoC(通过Burp Repeater) 结果:Web服务器崩溃,设备无法访问