关键信息 漏洞概述 漏洞名称: D-Link DIR-823X 命令注入漏洞 受影响版本: DIR-823X (250416) 提交者: USTC_BUG_Hunter 漏洞描述 详细描述: D-Link DIR-823X 路由器的 端点存在命令注入漏洞。该漏洞源于后端函数 sub_4208A0 在处理用户提交的 或 参数时,未能充分过滤换行符 ( 或 )。 影响: 经过身份验证的攻击者可利用换行符截断原始 UCI 配置命令,并以 root 特权执行任意 shell 命令。 漏洞细节 步骤 1: 参数提取 函数: sub_4208A0 从 POST 请求中提取用户控制的参数。 步骤 2: 无效验证(绕过) Filtering Logic: 在 sub_414FD4 函数中,黑名单仅包含特定字符,但未包含换行符。 Result: 攻击者可利用换行符突破命令上下文。 步骤 3: 命令构建与执行 函数: sub_415028 构建并执行命令。 Exploit Example: payload 。 Proof of Concept (PoC) 代码语言: Python 功能: 通过构造特定参数,注入任意命令并检测命令执行结果。 建议修复 严格白名单: 使用正则表达式验证 参数确保严格符合 IPv4 格式。 全面黑名单: 更新过滤器显式拒绝换行符、回车、其他 shell 元字符。 原生 API 集成: 用原生 C 库(如 libuci)替换 shell 基于的执行。 输入长度限制: 参数上限制长度。