最短域名的探索之旅
在漏洞赏金狩猎中,拥有一个短域名对于XSS攻击载荷来说,可能决定了能否成功利用漏洞……而且拥有一个漂亮的域名来承载攻击载荷本身就是件很酷的事情,哈哈。
一月份我开始全职从事漏洞赏金工作时,某天早晨我决定为自己找一个适合概念验证和攻击载荷的好域名。这变成了一整天的冒险。我花了大约六小时逆向工程域名提供商API,并自动化检查可用域名的过程。
ASCII与Unicode
在处理攻击载荷域名时,有时每个字符都很重要。ASCII和Unicode字符计数都很关键。许多Unicode字符在URL中会解析为ASCII,这意味着如果你正在制作XSS或SSRF攻击载荷,短域名有时正是你所需要的。
例如,像1.com这样的域名很直接,有4个ASCII和4个Unicode字符,因为它不会压缩。但还有我拥有的rad.pw,它有5个ASCII字符但只有2个Unicode字符,因为"㎭“和”㎺“各自是单个Unicode字符。
寻找最短域名
我的目标是找到字符数最少的域名,理想情况是3个ASCII和2个Unicode字符,比如1.rs。不幸的是,这些域名(大部分)都已被注册。因此,我将目标转向寻找具有4个ASCII和2个Unicode字符的域名。
然而,以合理价格找到这样的域名也被证明是一个挑战。经过大量搜索,我最终获得了:
- rad.pw:5个ASCII,2个Unicode,“rad password"是概念验证的酷域名
- t4.rs:4个ASCII,3个Unicode,因为t4不会压缩,是tars机器人的缩写
- km3.pw:5个ASCII,2个Unicode。这是我找到前两个之前先获得的域名
隐藏的宝藏与昂贵发现
在我的搜索过程中,我发现了一些有趣的域名。如果你愿意挥霍,可以从nic.st购买4个ASCII和2个Unicode的域名。像rs.st这样的域名是可用的,但它们价格昂贵——由于是4字符域名,售价为799欧元,外加29欧元的年费。
域名的圣杯
最终的发现是几个域名:2.st和9.st(可能还有其他1-2个[数字].st域名),价格为1500欧元,具有3个ASCII和2个Unicode字符。这些是稀有珍宝,无法进一步缩减。
或者真的无法缩减吗?
到目前为止我提到的所有字符数都包括句点/点,但技术上有一组Unicode字符结合了数字和句点,比如⒉,所以像⒉st这样的域名实际上更短。但遗憾的是,浏览器(以及我测试的unicode规范化器)不会将⒉转换为2.,它们只是将其转换为2并去掉句点。所以,虽然这些域名在技术上更短,但据我所知在实践中并不起作用。
编辑:好吧,我刚刚发现⒉st在JavaScript和Python中确实会被转换为2.st。
JavaScript: normalize(‘NFKC’)和normalize(‘NFKD’)都将"⒉st"转换为"2.st”
Python: unicodedata.normalize(‘NFKC’)和unicodedata.normalize(‘NFKD’)同样将"⒉st"转换为"2.st”
告诉我你的发现
我觉得这一切都非常有趣,所以请标记我并告诉我你最好的域名是什么,以及我是否错过了某个顶级域名或一些黄金域名。
- Joseph
注册我的邮件列表,了解我发布更多类似内容的时间。 我还在Twitter/X上发布我的想法。