使用特殊 Unicode 字符的域名创意拼写(2018)

Hacker News Top 新闻

摘要

一篇博客文章,探讨如何借助浏览器端依据 RFC5895 进行的 IDNA2008 规范化,在域名中使用不常见的 Unicode 类字母符号(如 ℡ 和 №)及样式化字母,并介绍其在 dig 等工具和社交平台上的局限性。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/11/02 00:30

# 使用不常见 Unicode 字符的域名妙招 来源:https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/ Unicode 包含许多不太常用的符号。例如,商标 \- TM、服务商标 \- SM 和处方 \- ℞ 都有各自独立的符号。在“类字母符号”中,藏着两个有趣的条目。它们各自都是单个字符: - 电话符号 (https://en.wiktionary.org/wiki/%E2%84%A1)\- TEL - 编号符号 (https://en.wiktionary.org/wiki/%E2%84%96)\- No 有趣的是,\.tel 和 \.no 都是域名系统 \(DNS\) 中的顶级域名 \(TLD\)。所以,我的联系网站 \-https://edent.tel/\- 可以写成 \-https://edent.tel/ 而挪威域名注册机构 NORID 可以通过https://www.norid.no/访问 复制并粘贴这些链接 \- 它们在任何浏览器中都能使用! ## 这仅限于顶级域名吗? (https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/#is-this-limited-to-tlds) 不!这在域名中的任何位置都有效。复制并粘贴以下示例: - 手写体 https://EXAMPLE\.COM/ - 数学粗体 https://example\.com/ - 哥特体 https://example\.com/ - 数学粗斜体 https://example\.com/ - 数学粗手写体 https://example\.com/ - 双线体 https://example\.com/ - 等宽体 https://example\.com/ - 上标 https://example\.com/ - 下标 https://example\.com/**注意**并非所有字符都受支持 - 数学无衬线粗体 https://example\.com/ - 数学无衬线粗斜体 https://example\.com/ - 数学无衬线斜体 https://example\.com/ - 数学方框字 https://EXAMPLE\.COM/**注意**圆点不能加方框 - 带圈字 https://example\.com/**注意**圆点不能加圈 还有许多其他各式各样的字符可供使用: ## 这是如何实现的? (https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/#how-does-this-work) 魔法!也就是说,我*认为*是浏览器在执行转换。DNS 服务器无法成功响应对 \.TEL 域名的查询。浏览器看到 \.TEL 后,会按照RFC5895 (https://tools.ietf.org/html/rfc5895)中列出的 IDNA2008 流程对其进行规范化: > 将字符映射到 <https://www.unicode.org/Public/UNIDATA/UnicodeData.txt\> 中的“Simple\_Lowercase\_Mapping”属性 \(第十四列\),如果存在该属性的话。 TEL 的条目是: `2121;TELEPHONE SIGN;So;0;ON; 0054 0045 004C;;;;N;T E L SYMBOL;;;;` U\+0054 是 T,U\+0045 是 E,U\+004C 是 L。你可以在 Python 中用以下命令进行测试: `` python -c 'import sys;print sys.argv[1].decode("utf-8").encode("idna")' "TEL" `` ## 这能用吗? (https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/#does-this-work) 能!我在 Twitter 上询问大家能否使用 \.TEL 访问我的网站,结果似乎在所有现代浏览器和操作系统上都有效。它甚至适用于`wget`和`curl`这样的命令行工具。不过,在某些情况下它也会失效: ## 有哪些限制? (https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/#what-are-the-limitations) 主要有两个: - Twitter 和 Facebook 等网站不认为它是有效的 URL,因此拒绝自动将其转换为链接。 - `dig`和`host`等一些命令行工具无法识别它 已将 Bash 复制到 📋`` Bashdig edent.TEL ; <<>> DiG 9.10.6 <<>> edent.TEL ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 55282 `` ## 这有用吗? (https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/#is-this-useful) 显然有用。这可能是十年来最重要的发现。你能获得外观酷炫的 URL,还能在某些域名上省下几个字符,只需付出运行不稳定这一*小小的*代价。它还可以用来绕过 URL 过滤器。所有现代浏览器都支持这些“花哨”的域名,但大多数网站不会自动将它们转换为链接。因此,在 Facebook 上分享是行不通的。 ## 可以用在哪些地方? (https://shkspr.mobi/blog/2018/11/domain-hacks-with-unusual-unicode-characters/#where-can-it-be-used) 以下这些单个字符可以被规范化为有效的顶级域名。它们大多是国家或地区代码,不过也有几个有趣的例外: - `mil`\- 美国军方 - `TEL`\- \.tel 注册局 - `No`\- 挪威 - `AU`\- 澳大利亚 - `dm`\- 多米尼克 - `pA`\- 巴拿马 - `nA`\- 纳米比亚 - `mA`\- 摩洛哥 - `pF`\- 法属波利尼西亚 - `nF`\- 诺福克岛 - `kg`\- 吉尔吉斯斯坦 - `ml`\- 马里 - `fm`\- 密克罗尼西亚联邦 - `fi`\- 芬兰 - `mm`\-缅甸 (https://en.wikipedia.org/wiki/.mm) - `cm`\- 喀麦隆 - `km`和`KM`\-科摩罗 (https://en.wikipedia.org/wiki/.km) - `ps`\- 巴勒斯坦 - `ms`\- 蒙特塞拉特 - `mV`和`MV`\- 马尔代夫共和国。 - `pW`\- 帕劳 - `mW`和`MW`\- 马拉维 - `cc`\- 科科斯 \(基林\) 群岛 - `cd`\- 刚果民主共和国 - `Gy`\- 圭亚那 - `PH`\- 菲律宾 - `p.m.`\- 圣皮埃尔和密克隆 - `PR`\- 波多黎各 - `sr`\-苏里南 (https://en.wikipedia.org/wiki/.sr) - `Sv`\- 萨尔瓦多 - `SM`\- 圣马力诺 - `TM`\- 土库曼斯坦 - `st`和`st`\- 圣多美和普林西比 - `GB`\- 英国 \(已废弃 (https://en.wikipedia.org/wiki/.gb)\) - `ß`\- 南苏丹 \(不可用 (http://www.iana.org/domains/root/db/ss.html)\) - `in`\- 印度和印第安纳州 \(\.us 的子域名\) - `VI`和`vi`\- 维尔京群岛和弗吉尼亚州 \(\.us 的子域名\) - `fl`\- 佛罗里达州 \(\.us 的子域名\) - `nm`\- 新墨西哥州 \(\.us 的子域名\) - `nV`\- 内华达州 \(\.us 的子域名\) - `oV`\- 作为 \.ovh (https://en.wikipedia.org/wiki/.ovh)的一部分 如果你还能找到更多,请在下方的评论框中留言。你始终可以通过以下地址访问这篇博文: https://Shkspr\.mobi/🆆🆃🅵/ ---

相似文章

Unicode Variation Selector-15 和我的一些眼泪

Lobsters Hottest

一位开发者调查了为什么脚注回链字形在RSS阅读器中渲染为表情符号,探索了用于控制文本与表情符号呈现的Unicode变体选择器(U+FE0E和U+FE0F),并讨论了变体选择器在网页内容中面临的更广泛挑战。

Unicode 字符串的等价性很奇怪 (2016)

Lobsters Hottest

Unicode 字符串等价性很复杂,尤其是涉及校对规则时,会导致意外的结果,例如删除控制字符和非确定性分组。作者讨论了在数据库系统中正确实现 Unicode 支持所面临的挑战。

标签名中的奥秘?原来是JavaScript

Lobsters Hottest

PortSwigger的研究文章展示了利用HTML标签名中的JavaScript属性进行新的XSS攻击向量,使WAF绕过在不同浏览器中成为可能。

幽灵字符在Unicode中出没

Hacker News Top

本文解释了Unicode中'幽灵字符'的起源,这些字符源自1978年JIS X 0208标准中的编目错误,此后已被集成到全球计算机系统中。

# 黑客获取 Google 等大型服务的伪造 TLS 证书 黑客已成功获取伪造的 TLS 证书,这些证书可用于冒充 Google 及其他大型服务提供商。这类证书通常由不受信任的证书颁发机构(CA)签发,或通过欺诈手段获得,能够欺骗浏览器和应用程序,使其误认为与目标服务建立的安全连接是真实的。 一旦攻击者持有了此类证书,便可以实施中间人攻击(MITM),拦截并窃取本应加密的用户流量,包括登录凭据、会话 Cookie 和其他敏感数据。 此次事件再次凸显了证书颁发流程以及证书透明度(Certificate Transparency)等监督机制的重要性。浏览器和操作系统厂商也在不断收紧对不受信任 CA 的信任,以降低伪造证书带来的风险。建议用户保持系统与浏览器更新,并关注各厂商针对受影响 CA 发布的处置公告。

Ars Technica

黑客劫持了国家顶级域(ccTLD)的域名注册管理机构,通过操纵 DNS 记录通过域名控制验证,从而获取 Google 及其他大型服务的伪造 TLS 证书。