眼见不一定为实,以Apple官网为例任意伪造网站域名

技术 作者:HackerEye 2017-04-18 02:16:53
你相信这是一个钓鱼网站的域名吗? Punycode可以让域名由外文组成。Punycode使用ASCII字符集,可以把外文域名转换成有意义的字符。例如,域名「xn--s7y.co」,会被转换成「短.co」。 在安全角度看,由於Unicode字符与ASCII字符难以区分,所以注册Unicode域名「xn--pple-43d.com」,会被转换成「apple.com」。乍看下域名没大分别,可是「apple.com」的a用编码Cyrillic (U+0430),而不是编码ASCII (U+0041)。这就是传统的IDN欺骗。 幸运的是,现在的浏览器有防御机制限制IDN欺骗。像火狐和Chrome浏览器,如果域名包含多个不同语言的外文编码,就会把域名的Unicode编码以正则表达式显示。例如,「apple.com」会被显示为「xn--pple-43d.com」,这就避免与真正的苹果官网混淆。 火狐和Chrome的IDN欺骗防御机制是可以被绕过的,如整个钓鱼网站域名都是由一种语言的外文编码组成,例如「apple.com」,是由Cyrillic编码「xn--80ak6aa92e.com」所组成。经常发生IDN欺骗,是因为在火狐和Chrome上,所有英文都是采用同一字体,因此在视觉上难以区分域名是由哪种编码组成。在这情况下,用户只能靠SSL证书来识别网站的真伪性。 2017年1月20日,这漏洞已经提交给火狐和Chrome,而Chrome 59已经把这漏洞修复。Chrome团队决定把Chrome 58也纳入修复中,预计在4有25日就能完成修复。而火狐则表示这漏洞未能解决。在火狐漏洞平台中,这漏洞状态由「修复中」转为「不会修复」,并把危险级别标为「低危」。 火狐用户想修复这漏洞,可以前往about:config并设置network.IDN_show_punycode为true,以正则表达式来显示IDN域名,从而分辨域名的真伪性。 各浏览器测试截图 Chrome Firefox Firefox SSL 总结 当用户从网站输入个人资料,必须注意域名的真伪性。同时,希望火狐能够考虑修复这个漏洞。   翻译:陈匡kk 原标题:任意伪造大站域名(以Apple官网为例)

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接