遗留代码中反复出现的Unicode序列\uD83D\uDCCC是什么?有何作用?
问题解答
该Unicode序列的具体定义
\uD83D\uDCCC是UTF-16编码下的双字节代理对,对应Unicode码位U+1F4CC,字符为📍(定位图钉),属于通用Emoji字符,正式名称为Pushpin,常被用来标记重点位置、锚点或备忘提示。
你在代码中看到它显示为??是由于当前编辑器、代码扫描工具的渲染环境不支持该Emoji的显示,自动替换为了问号占位符,和实际存储的内容有差异。
该字符被注入到HTML中的可能原因
建议你结合遗留代码的业务逻辑进一步定位,常见场景分为两类:
正常业务行为
- 业务本身支持用户提交Emoji/富文本内容,该字符是用户正常提交的内容,被后端存储后渲染到HTML页面中,属于合理输出
- 前端框架、自研组件内部用该Emoji作为特殊点位的标记符,生成页面时自动插入,用于后续前端逻辑识别(比如锚点跳转、特殊内容高亮标记)
恶意注入风险
- 该字符被用作特洛伊源(Trojan Source)攻击的混淆载体:攻击者可以利用这类低关注度的可见Emoji搭配肉眼不可见的Unicode控制字符,绕过常规代码审计,在代码中隐藏恶意逻辑
- 遗留代码存在未修复的存储型XSS漏洞,攻击者提交的包含该字符的恶意内容被持久化到数据库后,渲染时直接输出到HTML页面中
内容的提问来源于stack exchange,提问作者The Sharp Ninja
相关产品推荐
相关产品推荐

