IDN 同形异义攻击的原理与识别方法
国际化域名(IDN)允许在域名中使用多种文字系统的字母。在同形异义攻击中,攻击者注册一个把部分拉丁字母换成另一种文字中外观相同字母的域名,链接看起来像可信地址,实际却指向另一个域名。
实例解析
- 输入
- еxаmple.com
- 检测到的文字系统
- 西里尔文 (Cyrl), 拉丁文 (Latn)
- 已标记字符
- 2
| 位置 | 字符 | 码位 | 文字系统 | 替换为 | 规则 |
|---|---|---|---|---|---|
| 0 | е | U+0435 | 西里尔文 | e | 易混淆字符映射表 |
| 2 | а | U+0430 | 西里尔文 | a | 易混淆字符映射表 |
- Punycode(DNS 实际查询的名称)
- xn--xmple-4ve7a.com
- 严格的 ASCII 后备
- example.com
工作原理
- DNS 只支持 ASCII,因此含有其他字符的标签会被转换为以 xn-- 开头的 Punycode。Punycode 形式才是真实名称:如果一个看似熟悉的地址变成了 xn--…,它就不是表面上的那个域名。
- 当标签混用多种文字系统时,浏览器通常会显示 Punycode 形式;但邮件客户端、聊天应用和文档常常显示具有欺骗性的 Unicode 形式,而完全由单一相似文字写成的标签也可能蒙混过关。
- 要检查域名,请把它粘贴到检测器中。只要出现被标记的字符、同一标签中有多种文字系统,或清理后的形式与原文不同,就应手动输入地址或通过书签访问,而不要点击链接。
转换是尽力而为:映射的易混淆项和 NFKC 折叠是确定性的,但某些合法的 Unicode 不会被标记。
您的文字
粘贴或键入 — 结果会在您键入时更新(对于长输入会稍微去抖)。
已扫描 11 个字符
2 个可疑项
严格的 ASCII 后备
原文(可疑字符已标记)
原始视图中的可疑字符带有下划线并标记为“可疑”。除了突出颜色。
suspicious character еxsuspicious character аmple.com
清理后的输出
字符分析
| 索引(从0开始) | 原字符 | 替换为 | 代码点 | 原因 |
|---|---|---|---|---|
| 0 | е | e | U+0435 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 1 | x | x | U+0078 | Not flagged as a confusable or compatibility character. |
| 2 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 3 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 4 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 5 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 6 | e | e | U+0065 | Not flagged as a confusable or compatibility character. |
| 7 | . | . | U+002E | Not flagged as a confusable or compatibility character. |
| 8 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 9 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 10 | m | m | U+006D | Not flagged as a confusable or compatibility character. |