url中的unicode破绽激发的域名安全问题 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

url中的unicode破绽激发的域名安全问题

申博_行业观察 申博 261次浏览 已收录 0个评论

url中的unicode破绽激发的域名平安问题

在本年的blackhat中微软平安研究员Jonathan Birch,向人人引见了一个unicode破绽,此破绽影响了如今的大部份的软件,言语,浏览器,发生了数个CVE破绽。跟随着大佬大脚步,我也想去相识这个破绽。为了纪录本身的进修效果,因而写下了这篇博客。

0x00基础知识

在明白破绽之前,现相识下unicode和ascii编码,IDNA吧

unicode编码

Unicode(中文:万国码、国际码、一致码、单一码)是计算机科学范畴里的一项业界规范。它对世界上大部份的笔墨体系进行了整顿、编码,使得计算机能够用更加简朴的体式格局来显现和处置惩罚笔墨。

​ Unicode 伴随着通用字符集的规范而生长,同时也以书籍的情势对外宣布。Unicode 至今仍在不停增修,每一个新版本都到场更多新的字符。当前最新的版本为2019年5月宣布的12.1.0,已收录凌驾13万个字符(第十万个字符在2005年获采纳)。Unicode涵盖的数据除了视觉上的字形、编码要领、规范的字符编码外,还包含了字符特征,如大小写字母。

ascii编码

​ ASCII(American Standard Code for Information Interchange,美国信息交流规范代码)是基于拉丁字母的一套电脑编码体系,它重要用于显现当代英语,而其扩大版本EASCII则能够部份支撑其他西欧言语,并等同于国际规范ISO/IEC 646。

​ ASCII 由电报码生长而来。初版规范宣布于1963年,1967年阅历了一次重要订正,末了一次更新则是在1986年,至今为止共定义了128个字符;个中33个字符没法显现(一些终端供应了扩大,使得这些字符可显现为诸如笑容、扑克牌花式等8-bit标记),且这33个字符多半都已经是陈废的控制字符。控制字符的用处重假如用来操控已处置惩罚过的笔墨。在33个字符之外的是95个可显现的字符。用键盘敲下空缺键所发生的空缺字符也算1个可显现字符(显现为空缺)。

​ ASCII码大抵由三部份构成:ASCII 打印字符ASCII 非打印控制字符扩大 ASCII 打印字符

IDNA(Internationalizing Domain Names in Applications)应用程序国际化域名

​ IDNA是一种以规范体式格局处置惩罚ASCII之外字符的一种机制,它从unicode中提取字符,并许可非ASCII码字符以许可运用的ASCII字符示意。

​ 国际化域名(IDN)最初是由马丁·杜斯特于1996年12月提出。1998年在新加坡国立大学教授陈定炜的指导下,Tan Juay Kwang和Leong Kok Yong将其付诸实施。经由很多议论和对照种种提案后,应用程序国际化域名(IDNA)被采纳为正式规范,并被用在很多顶级域名中。在IDNA中,“国际化域名”特指能够胜利将IDNA转化为十进位制ASCII的域名。

0x01破绽剖析

1、域名诳骗

​ 先看一个风趣的东西,接见此网站http://Вaidu.com(个中的В是unicode U+0412)

url中的unicode破绽激发的域名安全问题

​ 它是不是跳转到了http://xn--aidu-f4d.com/

url中的unicode破绽激发的域名安全问题

固然,你也能够尝尝运用其他特别的unicode编码。

​ 下面,看下全部历程吧

​ 先讲下跳转的url的寄义

http://xn--aidu-f4d.com/

xn:ACE(这是一个国际化域名编码)

aidu:ASCII码

f4d:状态机指令

​ 如今,我们来看看详细历程

url中的unicode破绽激发的域名安全问题

​ 当我们接见http://Вaidu.com时,浏览器会将我们接见的url交给域名体系(DNS)剖析url为ip地点,在剖析url的历程当中采纳递归查询和迭代查询,即先递归搜刮浏览器本身的的dns缓存,然后搜刮操纵体系的dns缓存,接着搜刮hosts文件缓存,搜刮当地域名服务器,然后迭代搜刮根域名服务器……,晓得找到ip地点为止,找不到就返回404notfound,而在DNS中,国际化域名(IDNA)运用Punycode转写并以美国信息交流规范代码(ASCII)字符串贮存。在当地DNS中,由于碰见特别字符В,而没法将此url一般转化为ASCII,因而就直接在当地转化为http://xn--aidu-f4d.com/这类情势的url。

第一次渗入测试的分享和小结

说在前面 首先很重要的是授权 ~ 首先很重要的是授权 ~ 首先很重要的是授权 ~ “为了给家乡做点贡献” 男子入侵政府网站… 之前也看过很多关于渗透测试的文章,但是因为一些现实因素等等问题,没(bu)有(gan)真正实操,最近由于一次偶然的机会,什么都不会的我接到了一个渗透测试项目(当然是授权的… 然后就把最近学到的一些东西,和一些小感悟,小技巧记录下来,由于一些特殊原因,本文中不涉及到渗透过程中的任何敏感信息 第一次进行渗透如何优雅的”装”成是个”老手” 首先跟我一样菜当然是装不出大神的,当然还是多学,多积累最重要,但是既然都

下面是burpsuite抓取的当地剖析完成后的截图。

url中的unicode破绽激发的域名安全问题

而IDNA转写ASCII的历程又分为两步

1. Normalization

Convert characters to a “standardized form”.

第一步:一般化,将字符转化为规范情势

比方:Å (U+00C5),Å (U+212B),Å (U+0041, U+030A)将会被规范化为å (U+00E5)

2. Punycoding
Turn Unicode into ASCII.

第二步:用punycode编码将unicode编码成ASCII码

​ 如今我们已晓得,在我们接见域名http://Вaidu.com时,浏览器会将此unicode转化为ASCII码,然后接见http://xn--aidu-f4d.com/,假如我们注册了http://xn--aidu-f4d.com/这个域名,那末我们就能够将接见http://Вaidu.com的受害者转到这个域名下,从而完成垂纶进击。

2、域名支解

​ 假如你再尝试下接见http://evil.c℀a.aaa.com

url中的unicode破绽激发的域名安全问题

​ 这个时刻你会发明你的浏览器会接见http://evil.ca/ca.aaa.com

url中的unicode破绽激发的域名安全问题

​ 在unicode中另有一种字符(U+2100),当IDNA处置惩罚此字符时,会将变成a/c,因而当你接见此url时,dns服务器会自动将url重定向到另一个网站。假如服务器援用前端url时,只对域名做了限定,那末经由过程这类要领,我们就能够轻松绕过服务器对域名的限定了。

然则为何同样是unicode字符,然则会发生差别效果呢?

​ 起首我们要明白一点就是,IDNA并非一切unicode都能够以ASCII码显现的

​ unicode转ASCII发生在IDNA中的TOASCII操纵中。假如能经由过程TOASCII转换时,将会以一般的字符显现。而假如不能经由过程TOASCII转换时,就会运用“ACE标签”,“ACE”标签使输入的域名能转化为ASCII码。

那另有其他能够应用的unicode字符吗?

U+2100, U+2101, U+2105, U+2106, U+FF0F, U+2047, U+2048, U+2049,

U+FE16, U+FE56, U+FF1F, U+FE5F, U+FF03, U+FE6B, U+FF20,

3、破绽IDNA版本

IDNA2008阻断了支解域名的字符

IDNA2003IDNA2008 + UTS46存在破绽


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明url中的unicode破绽激发的域名安全问题
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址