首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏FreeBuf

    浅析Punycode钓鱼攻击

    0x01 Punycode钓鱼攻击 1.1什么是网络钓鱼? 0x02 Punycode钓鱼攻击介绍 钓鱼攻击,“几乎无法检测”,即便平时十分谨慎的用户也可能无法逃过欺骗。 在IDNs(国际化域名international domain names)推出后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个英文字母+10个数字 Punycode的攻击方式存在两个明显的优势,导致常被攻击者选取用来攻击: Masquarading:从肉眼上很难区分正常域名和punycode伪装的域名,进行网络钓鱼的成功率很高。 低版本的用户禁用浏览器的punycode支持 其它浏览器貌似旧版本也有,感兴趣的可自行搜索。

    2.4K20发布于 2021-01-08
  • 来自专栏cjz的专栏

    punycode转码以及UniCode编码表参考文章

    Punycode是什么? Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。 在IDNs(国际化域名Internationalized Domain Names)推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母+ 浏览器对punycode的支持     目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode 码,然后由DNS解析punycode码。 完全免费,双向转换 中文域名转码就是将中文字符串转成punycode标准编码的字符串。 本服务目前支持GBK,GB2312编码和punycode编码的相互转换。

    2.3K20编辑于 2022-12-21
  • 来自专栏Alone88

    PHP 中文域名 和 Punycode 相互转码

    域名 punycode 中文 IDN IDN 国际化域名(英语:Internationalized Domain Name,缩写:IDN) Punycode 国际化域名的编码方式,中文域名和一些特殊文字 都需要Punycode 编码一下的 中文(特殊文字)转 Punycode 通过 idn_to_ascii 函数 参考地址:https://www.php.net/manual/zh/function.idn-to-ascii.php idn_to_ascii("alone88.我爱你",IDNA_NONTRANSITIONAL_TO_ASCII,INTL_IDNA_VARIANT_UTS46) 转换成:alone88.xn--6qq986b3xl Punycode

    4.9K10发布于 2019-10-22
  • 来自专栏前端资源

    UmiJS less文件热更新报错:punycode.toASCII is not a function

    Umi 项目热更新报错如下: Uncaught TypeError: punycode.toASCII is not a function     at Url.parse (hotModuleReplacement.js hotModuleReplacement.js:1638)     at functionCall2 (hotModuleReplacement.js:1510) 已知是 Umi 的一个 BUG,已与 2021年7月5日修复:fix: punycode.toASCII 文件位置: \node_modules\@umijs\bundler-webpack\bundled\css\hotModuleReplacement.js ) 这个文件中定义了两次来自两个不同版本 punycode 221 行: image.png 代码第 360 行: image.png 出错的时候是引用了 "version": "1.3.2" ,引入的版本是不对的,并且是以 amd 的形式引入,其结果就是 punycode 未经允许不得转载: UmiJS less文件热更新报错:punycode.toASCII is not a function

    1.1K30发布于 2021-11-25
  • 来自专栏汇智网教程

    原 EOS主网上线,背后公司Block.

    punycode Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的 Unicode编码转换成为可用於DNS系统的编码。 Punycode可以防止所谓的IDN欺骗。 早期的DNS(Domain Name System)是只支持英文域名解析。 在IDNs(国际化域名Internationalized Domain Names) 推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母 目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器 上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode 例如: 企鹅.com,用Punycode转换后为:xn--hoq754q.com 中国.cn,用Punycode转换后为:xn--fiqs8s.cn Block.one是否安全?

    85630发布于 2018-06-06
  • 来自专栏服务器安全专线

    Nginx 中文域名配置详解及实现

    因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode码。 中文域名变为Punycode编码即可,在线转码地址:http://tools.jb51.net/punycode/,如下图: PunycodePunycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。 "中文域名"后缀不被标准的解析服务器支持,需转化为punycode码进行解析。

    5.5K00发布于 2019-04-16
  • 来自专栏开源部署

    Linux 搭建中文域名的DNS服务器

    配置之前先来解释一下中文域名是如何工作的: 当我们在浏览器上输入 朝阳.北京.中国 这个域名的时候 浏览器会把中文域名翻译成Punycode编码然后再 传送给DNS服务器解析,例如 朝阳.北京.中国 翻译成 Punycode编码以后就是 xn--tpv116h.xn--1lq90i.xn--fiqs8s 朝阳 = xn--tpv116h 北京 = xn--1lq90i 中国 = xn--fiqs8s 点我转码 所以我们需要在Linux DNS服务器上用Punycode码做域名。 下面开始配置 首先配置主配置文档(在这里我就只配置了一个正向区域,反向区域跟平常的是一样的只是域名那里要更换成Punycode编码) 然后修改解析文件 这里DNS就配置好了 重启dns服务。

    5K10编辑于 2022-06-30
  • 来自专栏京程一灯

    我想给你介绍一个假的苹果网站

    (注:DNS 即域名解析,通过网站域名来指向网站服务器IP) 为了让 DNS服务器能看懂这些“方言”,许多浏览器用一种叫 punycode 的编码方式, 把一些奇奇怪怪的“地方语言”翻译成网络 DNS服务器能懂的英文字符 例如: 企鹅.com,用 Punycode 转换后为:xn--hoq754q. co 中国.cn,用 Punycode 转换后为:xn--fiqs8s. cn 你会注意到,punycode 转码之后的网站都会以 Firefox 用户可以按照以下的步骤来手动将暂时缓解: 在地址栏输入about:config ,按回车,在搜索框输入 punycode,将 network.idn_show_punycode 选项标记为 谷歌浏览器用户可以安装一个名为:punycode Alert 的拓展插件,它会对所有存在该问题的网站进行报警。 Opera 浏览器的话,目前宅客频道没有找到相应的技术解决方案。

    2.2K40发布于 2019-03-28
  • 快速理解中文域名

    Punycode 编码Punycode 是处理国际化域名(IDN)的一种技术,它将非 ASCII 字符(如中文、阿拉伯文、希腊文等)转换为 ASCII 字符,从而使这些字符能够在传统的 DNS(域名系统 而对于非 ASCII 字符,则需要转换成 Punycode 格式。为了与普通域名区分开,Punycode 编码通常在非 ASCII 字符前加上一个前缀,如“xn--”。 生成 Punycode:最终生成的 Punycode 字符串用于在 DNS 系统中进行域名解析。 1.2 Punycode 示例以中文域名 中文域名.中国 为例,Punycode 编码后的结果是 例.公司。 浏览器转换 Punycode:浏览器将 中文域名.中国 转换为 Punycode 格式,即 例.公司。

    5.1K10编辑于 2024-09-05
  • 来自专栏FreeBuf

    一种几乎无法被检测到的Punycode钓鱼攻击,Chrome、Firefox和Opera等浏览器都中招

    Punycode钓鱼攻击 在默认情况下,许多web浏览器使用“Punycode”编码来表示URL中的Unicode字符,以防止同形异义字钓鱼攻击。 Punycode是浏览器使用的特殊编码,目的是将Unicode字符转义成字符数目有限的ASCII 码字符集(A-Z,0-9),由国际化域名(IDN)系统支持。 比如说,中文域名“短.co”用Punycode来表示就是“xn--s7y.co”。 在搜索栏中输入Punycode。 3. 浏览器设置将显示network.IDN_show_punycode参数,双击或者右键选择Toggle,将值改为“True”。 Chrome和Opera中并没有类似的设置,来手动关闭Punycode URL转义,所以Chrome用户请耐心等待几周,等待Stable 58发布。

    2.8K90发布于 2018-02-24
  • 来自专栏公共互联网反网络钓鱼(APCN)

    基于日文字符混淆的国际化域名钓鱼攻击分析与防御机制研究

    通过实现Punycode标准化显示、多脚本混排风险评分、前端字符差异比对脚本及高危变体域名注册策略,有效提升对此类攻击的识别与阻断能力。 关键词:同形攻击;国际化域名;Unicode混淆;日文字符;钓鱼防御;Punycode1 引言网络钓鱼攻击持续演进,其核心目标始终是绕过人类感知与机器检测的双重防线。 4.1 客户端与网关:强制Punycode显示与标准化建议在企业终端策略中强制浏览器以ASCII(Punycode)形式显示所有含非ASCII字符的域名,消除视觉混淆。 Punycode并标记高风险域名:Python伪代码(Punycode检测模块):import idnadef is_suspicious_idn(url):try:# 提取主机名from urllib.parse 特别地,在强制Punycode显示策略下,98%的测试用户能正确识别xn--paypa-gck.com(即paypaネ.com)为非官方域名。

    24610编辑于 2025-12-04
  • 中文域名转码 在线工具核心JS实现

    如果不先清理,后面的Punycode转换结果就容易出错。 二、编码与解码函数保持极简工具本身依赖punycode完成核心转换,因此在项目里需要先安装这个包:展开代码语言:BashAI代码解释npminstallpunycode安装完成后,在JS里引入即可使用: 展开代码语言:JavaScriptAI代码解释importpunycodefrom'punycode/punycode.js'有了这个依赖后,业务层只需要做很薄的一层封装:展开代码语言:JavaScriptAI domain)return''returnpunycode.toUnicode(domain)}这里的思路很直接:编码时调用toASCII,把中文域名转成xn--格式解码时调用toUnicode,把Punycode 从实现角度看,这个工具最核心的JS价值就是两点:一是把脏输入统一清洗,二是把punycode转换能力包装成稳定的页面交互流程。

    18210编辑于 2026-03-08
  • 来自专栏征文·专栏

    【DNS 解析】中文域名·场景应用

    纯中文域名如 新闻.中国 或半 中文 中国.cn 都是由punycode编码转换的到的地址,属于idn域名(国际化域名)。 但由于特殊性出现了常见的问题,如搜索不收录,邮件不支持等。 随便找一个punycode编码转换的网站 https://myssl.com/punycode.html (wgpro.com是我的域名 前面随便写个中文就当自己是 二级中文域名用吧 如 中国.com.cn

    16.4K40编辑于 2022-05-20
  • 来自专栏poslua

    Source Code Pro 字体其实并不完美

    为了防止这种钓鱼攻击,许多浏览器使用 “Punycode” 编码来表示 URL 中的 Unicode 字符。 Punycode 是浏览器使用的特殊编码,目的是将 Unicode 字符转义成字符数目有限的 ASCII 码字符集(A-Z,0-9),由国际化域名(IDN)系统支持。 比如说,中文域名「短.co」用 Punycode 来表示就是「xn--s7y.co」。 此处的 xn 前缀是一个 “ASCII兼容编码” 前缀,意味着浏览器将采用 Punycode 编码来代表 Unicode 字符。这里就不再介绍其细枝末节了。 ---- 参考文献 Hyphen Dash Plane “Basic Multilingual Plane” 英文写作中标点连字号(hyphen)与连接号(dash)的输入 一种几乎无法被检测到的Punycode

    6.6K20发布于 2019-08-19
  • 来自专栏公共互联网反网络钓鱼(APCN)

    “伪装域名”卷土重来:日文字符混淆钓鱼攻击盯上企业用户

    技术内核:IDN与Punycode的“双面性”要理解这种攻击,需先了解“国际化域名”(IDN)技术。为了让全球用户能用母语(如中文、阿拉伯文、日文)注册和访问网站,互联网引入了IDN标准。 但计算机网络底层仍依赖ASCII字符,因此IDN域名在传输时会被转换为一种名为“Punycode”的编码格式。例如,一个包含日文字符的域名“例え.com”会被转换为“xn--r8jz45g.com”。 浏览器在显示时,会自动将Punycode还原为可读的原字符。攻击者正是利用了这一机制。 启用Punycode显示模式芦笛建议,用户可在浏览器或安全网关中开启“显示Punycode”选项。这样,所有IDN域名都会以“xn--”开头的编码形式显示,一眼就能识别异常。 “应推动更主动的警示机制,”他说,“比如对包含三种以上文字脚本的域名,强制显示Punycode或弹出‘此网站使用非常规字符’的提示,哪怕牺牲一点便利性,也要优先保障安全。”

    48310编辑于 2025-10-26
  • 来自专栏热爱IT

    中文域名如何解析和绑定? 转

    具体的方法就是找一个中文域名转码的网站,将你的中文域名输入,然后按照punycode编码格式转换即可。如图所示: ?   中文域名转码前 ?    中文域名转码后   将中文字符串转成punycode标准编码的字符串后,就可以正常绑定到主机空间上了。这样当中文域名解析和绑定后,在浏览器中直接访问中文域名或转换后的字符串均可。

    10.4K10发布于 2019-05-21
  • 来自专栏FreeBuf

    “同形异义字”钓鱼攻击,钉钉中招

    上图是西里尔字母表,我们可以发现有不少字母与拉丁字母相识,这就是为什么用西里尔字母来进行混淆的原因 浏览器会通过Punycode来编码非拉丁字符的域名,编码后就可以避免产生混淆,但发现如果域名的一个字段里所有字符都是同一种语言 后面要讲的钓鱼攻击对是否编码已经不重要,所以现在就不用深究这个问题 我们先从јԁ.com开始(这里的јԁ.com 已不等于 jd.com了,是不是认不出来有什么区别 ^_^) 我们尝试注册јԁ.com,先Punycode 在国内不允许注册Punycode转码后的域名 ? 在国外的域名网站就可以正常查询了,这里显示的not available是指已经被注册了,而不是说Punycode转码域名不能注册。 其他域名也类似或者提示无法显示或者有相关信息也无法追溯,只追溯到一个域名是国内安全圈的老司机注册的,这位可能是用来做研究 0×02 实施同形异义字钓鱼攻击,钉钉存在安全隐患 前面提到的chrome的漏洞就是浏览器地址栏没有进行Punycode

    2.6K70发布于 2018-02-26
  • 中文域名转码 在线工具分享

    其实这不是乱码,而是域名系统使用的Punycode编码。我做了一个用Vue开发的在线小工具——中文域名转码,专门帮助普通用户在中文域名和Punycode之间快速互转,打开网页就能用,不需要安装软件。

    1.4K10编辑于 2026-03-08
  • 文本编码转换器核心JS实现

    2.4Punycode转换Punycode是国际化域名(IDN)使用的编码。 本项目采用了一个巧妙的利用浏览器原生API的方法,避免引入庞大的第三方库:展开代码语言:JavaScriptAI代码解释punycode:{encode:function(input){try{//利用 URLAPI自动进行Punycode编码consturl=newURL('http://'+input);returnurl.hostname.replace(/^xn--/,'');}catch(e)

    9800编辑于 2026-01-30
  • 来自专栏公共互联网反网络钓鱼(APCN)

    真假难辨的“微软登录页”:IDN同形攻击+零宽字符,钓鱼者正用视觉魔术绕过MFA防线

    为兼容旧系统,这些域名会被转换为以 xn-- 开头的Punycode格式。问题在于,某些Unicode字符在视觉上与拉丁字母极其相似。 尽管其真实Punycode为 xn--mcrosoftonline-6v9f.com,但现代浏览器默认将其渲染为原始Unicode形式,导致用户误以为是合法域名。 尤其值得警惕的是,部分国产浏览器或邮件客户端对IDN显示策略不够严格,可能默认展示Unicode而非Punycode,进一步放大风险。五、技术深潜:如何防御IDN与零宽字符攻击? 浏览器端:强制Punycode显示或禁用高风险IDN现代浏览器虽支持IDN,但可通过策略限制。 = true,强制显示 xn-- 格式企业可通过MDM或组策略统一配置,确保员工设备默认以Punycode显示混合脚本域名。

    31710编辑于 2026-01-21
领券