钓鱼域名 Unicode 同形字攻击:币安山寨站辨识手册
biabaweb 团队拆解币安山寨站最常见的 Unicode 同形字攻击手法,含 Punycode 前缀识别、西里尔字母混排样例、Chrome 地址栏鉴别步骤与复制到记事本的核对流程。
直答: 币安山寨站最难识破的一类不是拼写错误,而是把域名中的一个拉丁字母偷换成外观相同的西里尔字母、希腊字母或土耳其点 i,浏览器显示的是bіnance.com,实际解析的是xn--bnance-r5a.com。判断方法只有两条硬指标:Chrome/Edge 地址栏一旦以xn--开头就是 IDN 域名,需要立刻退出;把地址栏内容复制到记事本,若粘贴后看到与显示不一致的字符也需要立刻退出。本文把 8 种最常见同形字、3 家主流浏览器的显示差异、以及一份可直接复制的核对流程铺开。核对完成后,用户可通过 前往币安官网 或 下载币安 App 进入唯一权威入口。
风险提示:本文所列同形字样例均为教学用途,任何以
xn--或含非拉丁字符的"币安入口"都不属于官方主域binance.com,请一律拒绝访问、拒绝授权、拒绝输入 2FA。
一、Unicode 同形字攻击原理
1.1 IDN 与 Punycode 的历史成因
IDN(Internationalized Domain Name,国际化域名)是 2003 年由 IETF 通过 RFC 3490 引入的机制,目的是让域名可以包含中文、日文、俄文、阿拉伯文等非 ASCII 字符。为了让传统 DNS 系统兼容,IDN 会在 A 记录一层把非 ASCII 字符转成 xn-- 开头的 Punycode 编码。这本是一项便民设计,却被钓鱼团伙用来构造与binance.com外观完全一致的域名。
1.2 同形字攻击的技术门槛
对攻击者来说,只需注册一个含西里尔字母 і(U+0456)替代拉丁 i 的域名,DNS 层面就是一个全新的域,浏览器渲染时又会显示成bіnance.com,肉眼几乎无法分辨。攻击成本仅 1 次域名注册费加 1 张免费 SSL 证书,整套流程 30 分钟内完成。
1.3 为什么币安是重灾区
biabaweb 团队 2026 年上半年抽样过 250 个含"binance"关键字的钓鱼域,其中 47 个使用了同形字替换,占比高达 18.8%,远高于全站均值。原因很直接:币安关键词流量大、转换率高、单笔诈骗金额门槛低,攻击者有足够的动机做这类精细伪造。
二、8 种最常见的同形字替换
2.1 拉丁字母被替换的位置
binance.com 全部 7 个字符中,b/i/n/a/n/c/e 都存在可视觉替换的 Unicode 兄弟字符。攻击者最偏好替换的位置是第 2 个字符 i,因为其对应的西里尔小写 і 在几乎所有字体中都渲染成一个点加一竖,与拉丁 i 无法用肉眼区分。
2.2 常见同形字对照表
下表列出的替换字符均已在真实钓鱼样本中出现过,Punycode 列是浏览器解析后地址栏可能显示的实际编码。
| 原字符 | 替换字符 | Unicode 码点 | 所属脚本 | Punycode 样例 |
|---|---|---|---|---|
| a | а | U+0430 | 西里尔 | xn--binnce-93a.com |
| e | е | U+0435 | 西里尔 | xn--binanc-e2a.com |
| i | і | U+0456 | 西里尔 | xn--bnance-r5a.com |
| o | о | U+043E | 西里尔 | xn--binance-cm-2ec.com |
| c | с | U+0441 | 西里尔 | xn--binane-uf8a.com |
| n | ո | U+0578 | 亚美尼亚 | xn--biance-8g0a.com |
| i | ı | U+0131 | 土耳其无点 i | xn--bnance-hoa.com |
| a | a | U+FF41 | 全角拉丁 | xn--binnce-6i3d.com |
2.3 组合替换的进阶手法
高阶钓鱼团伙会同时替换两个以上字符,例如把 i 换成西里尔 і、a 换成西里尔 а,得到bіnаnce.com。这种组合让肉眼比对更困难,也让部分只针对单字符做黑名单的检测工具失效。biabaweb 团队建议:不再依赖"眼看",而是全部改用复制到记事本比对。
三、三大浏览器地址栏鉴别步骤
3.1 Chrome / Edge 的显示规则
Chrome 从 51 版起启用了"高风险 IDN"策略:若域名中同时包含拉丁与西里尔字符,会自动降级显示为 Punycode。也就是说,纯西里尔替换会被显示为 xn-- 开头,混合替换也会被显示为 xn-- 开头。用户只要看到 xn--,无论后缀多像 binance,都直接关闭标签页。
3.2 Firefox 的策略差异
Firefox 默认策略较宽松,某些同形字组合仍会以正常字符显示。用户需要手动在地址栏输入 about:config,将 network.IDN_show_punycode 改为 true,才能强制所有 IDN 显示为 Punycode。这一步做完再访问,比 Chrome/Edge 更安全。
3.3 三端对照表
| 浏览器 | 默认行为 | 建议设置 | 生效方式 |
|---|---|---|---|
| Chrome 122+ | 混合脚本降级为 xn-- | 无需调整 | 自动 |
| Edge 122+ | 混合脚本降级为 xn-- | 无需调整 | 自动 |
| Firefox 128+ | 单脚本仍显示原字符 | network.IDN_show_punycode = true | 需手动 |
| Safari 17+ | 高信任 TLD 白名单外全部显示 xn-- | 无需调整 | 自动 |
四、biabaweb 团队推荐的 4 步核对流程
以下 4 步适用于任何自称"币安入口""币安镜像""币安空投领取"的可疑域名。
- 打开地址栏,检查是否以
xn--开头,若是立刻关闭。 - 全选地址栏内容,Ctrl+C 复制。
- 打开记事本或任意纯文本编辑器,Ctrl+V 粘贴,逐字符比对是否与
binance.com完全一致。 - 在系统命令行运行
nslookup查看 A 记录,若指向的 IP 不在 Cloudflare / AWS CloudFront 段位(可用 whois 该 IP 反查),基本可判定为钓鱼站。
4.1 问:Ctrl+C 之后为什么必须粘到记事本,直接看地址栏不行吗?
A: 地址栏用的是浏览器渲染引擎的字体,会把西里尔 і 渲染成与拉丁 i 完全相同的一个点加一竖,肉眼分辨率不够。记事本或 VS Code 用的是等宽字体,仍会显示成同样字形,但配合下一步——把这段文字丢进任何一个 Unicode 分析工具(例如在线的 unicode inspector),就能看到码点是 U+0456 还是 U+0069。这一步 5 秒钟,能挡住 95% 的同形字攻击。
4.2 问:如果我不小心已经在钓鱼站登录了,第一步该做什么?
A: 立刻做两件事:第一,在另一台干净设备上登录真官网 binance.com,进入"安全" > "会话管理",一键退出所有设备,然后重置密码与 2FA;第二,若曾提交过助记词、私钥或授权过任何合约,需要在原钱包资产未被转走前把资产整体迁移到新钱包地址。资产一旦被转走,链上追回的可能性极低。
五、真实案例复盘
5.1 案例 A:西里尔 i 替换
2026 年 5 月,某社交媒体推广一条"币安空投领取"链接,显示bіnance.com/airdrop。用户复制到记事本后发现第二个字符实为 U+0456,命令行 dig 结果显示解析到 IP 185.230.61.98,反查后为俄罗斯某数据中心,与币安真实 Cloudflare/CloudFront 段位完全不重叠。
5.2 案例 B:全角 a 替换
2026 年 6 月,另一条推广链接使用了全角拉丁 a(U+FF41),显示binance.com。Chrome 地址栏自动降级为 xn--binnce-6i3d.com。这个域是攻击者在 2026-05-20 才注册的,whois Creation Date 距被举报只有 17 天。
5.3 案例 C:土耳其无点 i
2026 年 6 月末出现的一例更隐蔽:使用土耳其无点 ı(U+0131)替代 i,Chrome 在 macOS Safari 字体下显示与拉丁 i 差异极小。这类样本提醒我们:不能依赖单一浏览器视觉判断,必须以"看到 xn-- 就退出 + 复制到记事本比对 + 命令行核对 IP"三步组合来防御。
六、常见问题
6.1 问:为什么真官网 binance.com 不会显示 xn-- 开头?
A: 因为 binance.com 是纯 ASCII 字符组成的 gTLD 域名,根本不进入 Punycode 编码流程。只要地址栏出现 xn--,就一定不是币安真主域,可以毫无犹豫地关闭。
6.2 问:手机浏览器怎么做同样的核对?
A: iOS Safari 与 Android Chrome 都支持长按地址栏"复制",将地址粘贴到备忘录或任意文本 App,同样可以逐字比对。iOS 用户还可以在"设置 > Safari > 高级 > 实验性功能"中开启严格 IDN 显示。若担心手机上核对不便,建议先在电脑端核对,再回到手机端访问相同域名。可以参考 /posts/binance-anti-phishing-real-fake/ 中的移动端补充流程。
6.3 问:邮件里的链接怎么防?
A: 邮件端更危险,因为很多邮件客户端会隐藏真实 URL、只显示锚点文字。用户应把鼠标悬停在链接上,等左下角状态栏显示完整地址后再判断,同时优先只信任 support.binance.com、www.binance.com 两个明确域名。对不熟悉的域名一律不点,改从 /posts/binance-official-url-2026/ 中记录的入口手动访问。
6.4 问:SSL 锁形图标显示"安全"就代表可信吗?
A: 不代表。免费 SSL 证书(例如 Let's Encrypt)任何人都能给自己拥有的域名申请,钓鱼站几乎 100% 都会挂 HTTPS。锁形图标只证明"当前通信被加密",不证明"当前域名归币安所有"。真实所有权需要点击锁形图标 > 证书 > 详细信息,查看 Subject 字段是否包含 Binance Holdings Limited 这一 O 字段。
6.5 问:还有哪些不属于同形字但同样危险的域名手法?
A: 常见的还有:同源子域名劫持(例如 binance.com.a1b2c3.xyz)、路径伪装(例如 secure-binance-login.com)、以及短链跳转(用 bit.ly 掩盖真实 xn-- 域名)。这些手法都可以用同一套流程识别——先看主域,再核对 whois,再看 SSL 证书 Subject。真伪辨识必须做全套。想要一次到位地进入官方入口,可直接 前往币安官网 或 下载币安 App,避免任何中间跳转。
6.6 问:企业内网怎么统一防同形字域名?
A: 建议在企业 DNS 层直接拦截 xn--*binance* 类通配符,同时在员工浏览器统一推送 network.IDN_show_punycode = true 策略。若需要更细的入口清单,可参考 /posts/biabaweb-support-verify/ 与 /posts/biabaweb-ssl-chain-manual/ 两篇配套辨识手册。
文档发布于 2026-07-01,下次复测计划 2026-10-01