CVE-2025-52488漏洞复盘: 全角反斜杠,让 DNN 泄露 NTLM
赛博57库
2026年10月19日 05:00
广东
去阅读
| 漏洞分析 全角反斜杠,让 DNN 泄露 NTLM:CVE-2025-52488 CVE-2025-52488 · DNN · Unicode 归一化 · UNC 注入 · NTLM 哈希泄露 |
02 · 全角字符与 Unicode 归一化
Unicode 里有一批「全角」字符,专为排版对齐设计,和半角 ASCII 长得几乎一样:
| 全角字符 | 码点 | 归一化后 | 名称 |
. |
U+FF0E | . |
全角点字符 |
\ |
U+FF3C | \\ |
全角反斜杠字符 |
它们和真正的 .、\\ 是不同的码点。于是过滤器如果只做「黑名单 \\、..、绝对路径」这类 ASCII 判断,就看不到 \——攻击者用 \\attacker\share 就能穿过过滤。
DNN 的清理逻辑里有一句编码转换,会把全角还原成半角:
input = Encoding.ASCII.GetString(Encoding.GetEncoding(1251).GetBytes(input)); |
问题的关键不是「要不要归一化」,而是归一的时机:它发生在安全检查之后。安全检查看到的是无害的全角 \,放行了;归一化却把它变成了危险的 \\。「先校验、后归一化」的顺序颠倒,正是这类漏洞的根。
这段 URL 编码拆开就是四个全角字符——\\(两个全角反斜杠)+ example + .(全角句号)+ \,归一化后变成 \\\\example.com\\share.jpg。
影响版本:DNN 6.0.0 到 10.0.0(10.0.1 起修复)。DNN 是相当老牌、存量巨大的 .NET CMS,这类「上传接口 + UNC 注入」的组合在大量历史部署里都有存在土壤。
06 · 检测与修复
检测侧(蓝队怎么抓)——核心是盯住「出站 SMB/NTLM 外联」这个最终动作:
• 出站 445/139 阻断:服务器原则上不需要主动连外网的 SMB,边界上直接阻断出站 445/139,就能让这类漏洞「拿到 UNC 也连不出去」。
• NTLM 外联审计:监控 Windows 事件里的 NTLM 认证(出站 NTLM 到公网 IP 是强异常),以及 SMB 客户端连接日志。
• 流量侧:IDS 抓「对外 445 的 SMB NEGOTIATE/NTLMSSP」特征;responder/impacket-smbserver 这类抓包工具留下的握手特征也可作为回溯线索。
修复侧——漏洞本身升级到 DNN ≥ 10.0.1 即可,但更有价值的是这条链给出的通用工程教训:
• 先归一化、再校验:把输入归一化成最终形态之后再做安全判断,别在校验后再引入字符变换。
• 校验结果而非原始输入:对路径做规范化(Path.GetFullPath)后,再判断它是否真的落在允许目录内。
• 拒绝 UNC/绝对路径:文件名应以「纯文件名」为约束,显式拒绝以 \\、/、盘符、\\\\ 开头、或包含 : 的值。
• 别把用户输入直接塞进文件 API:Path.Combine 的第二参数一旦是绝对路径就会覆盖第一参数,要用 Path.GetFileName 或显式校验。
07 · 结论
CVE-2025-52488 现在看是「旧漏洞」,但它串起来的三件事,到今天依然是安全工程里反复出事的元凶:归一化顺序颠倒、API 的反直觉行为、「认证即泄露」的协议副作用。
把它当成一条教学链来读,比当成一条新闻有用得多:一个全角反斜杠能造成 NTLM 哈希泄露,不是因为这个字符有多特殊,而是因为「过滤、归一化、拼接、访问」四步之间,每一步都信任了上一步的输出。防守的落点也很清楚——既要在应用层堵住「先校验后归一化」,也要在网络层兜底「出站 SMB 根本不该存在」。
| 本文为技术复盘:漏洞(CVE-2025-52488)披露于 2025 年,补丁(DNN ≥ 10.0.1)已发布,影响面已收敛;本文不含未公开的利用细节,PoC 与机制均来自公开资料(Searchlight 研究报告、SecPod 分析、NVD)。技术内容仅供学习与防御研究,请勿用于任何非法用途。 |
| ⚠ 免责声明与边界 ① 口径:本文为技术复盘;漏洞(CVE-2025-52488)披露于 2025 年,补丁(DNN ≥ 10.0.1)已发布、影响面已收敛。② 来源:PoC 与机制均来自公开资料(Searchlight 研究报告、SecPod 分析、NVD),不含未公开的利用细节。③ 防御向:本文只讲原理、检测与修复,不提供可利用的完整脚本。④ 技术内容仅供学习与防御研究,请勿用于任何非法用途。 |
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论