域名可以不带点吗规范说:「必须带点,哪怕你是顶级域名。」
知友说:「不带点危害不亚于当年的千年虫。」
前端说:「除非是本地hosts映射的。」
米农说:「那样的话手里的域名都毁了。」
看上去大家似乎都确信自己掌握了真相。
我的答案是:的确有不带点的域名 ,对于一个猥琐流来说没有比突破常识更有趣的事了。
在去年的一个浏览器漏洞发掘过程中,为了扩展漏洞的威力,我尝试找出那些不带点的域名。过程不细说了,结果是:
http://io
http://ac
可以正常访问,当然我们需要先访问一次后面带点域名让DNS缓存 ( ac. )。
注 :国内的DNS是无法解析的,原因不详,测试的话可以用8.8.8.8。
Why
不知道,我只知道这两 NIC 违规了。互联网世界从来不缺奇葩,猥琐流们都很乐于去发现他们,大家有这方面困惑欢迎 @ 我。
------------------更新下危害------------------
关于危害
我不想说什么局域网,search,google 啥的,说点实际的。IE 有个特性,主机名中没有点( . )的域名自动识别为intranet域 (这是个黑盒规则),而intranet 域的站点拥有更多的权限。
针对这点, 我发掘了一个 io 域名下的跨站脚本漏洞。之后可以做什么了呢
绕过同源策略跨域获得任意网站的代码。
调用wscript.shell组件执行本地命令
前者可以获取你的web身份,后者可以获得你的本地权限 ,危害你自己看着办。