[浏览器]Punycode钓鱼攻击

Posted by
“Punycode”的图片搜索结果
Punycode

        Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。Punycode可以防止所谓的IDN欺骗。

 

国际化域名IDNs
        早期的DNS(Domain Name System)是只支持英文域名解析。在IDNs(国际化域名Internationalized Domain Names)推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母+10个数字,还有“-”组成。
浏览器支持
        操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器并不支持对其他特殊文字的直接域名解析(例如中文),所以特殊域名的解析都需要转成punycode码(英文字母+数字+”-“),然后由DNS解析punycode码。
        比如目前各种浏览器完美支持中文域名,只是浏览器里面主动加入了中文域名对punycode的自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。

同形异义字攻击
        眼见不为实系列。
        简而言之,斯拉夫字母“а” (U+0430)和拉丁字母“a”(U+0041)会被浏览器处理成不同的字符,但是在地址栏当中都显示为“a”。所以在浏览器地址栏上看到的都是一样的。
PHP的Punycode项目
可以简单的使用composer安装,尝试构建自己的钓鱼域名。
目前新网,万网都不让注册xn--开头的域名,godaddy上xn--开头的域名都显示已经注册。
不知道是不是没得玩了。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注