下面两个字符串,肉眼几乎一模一样。它们只差在“字符本身”。
看一眼地址栏
下面的模拟地址栏演示“没有防护时会看到什么”。
现实:现代浏览器会拦
用现代 Chrome 打开本域名,你会看到:地址栏显示的是 xn--80ayf0a9fd.com(Punycode),并弹出「您是不是要前往 xiaomi.com?」。这是浏览器的 IDN 显示策略 + 同形域名(skeleton)检测在起作用 —— 它把可疑域名“降级”为 Punycode,并提醒用户。
xiaomi.com,实际指向别处)。
结论:防护只在你「用主流浏览器直接访问」时生效;钓鱼更多发生在别的入口。
逐字拆解
同形对照
| 西里尔(本域名的字符) | 码点 | ≈ 拉丁字母 | 码点 |
|---|
原理
国际化域名(IDN)允许用非拉丁字符注册域名。DNS 只认 ASCII,于是浏览器把 Unicode 域名编码成带 xn-- 前缀的 Punycode 再查询。攻击者正是利用“显示用 Unicode、解析用 Punycode”这一层差异,注册与品牌高度相似的域名。
⟶ 小测验
如何防护
xn--,说明它是 IDN(非拉丁)域名,务必核对。