同形异义字:看我如何拿到TaoBao.com的解析权
*本文原创作者:expsky@MS509Team,本文属FreeBuf原创奖励计划
同形异义字钓鱼攻击号称“几乎无法检测”,是最狡猾的钓鱼攻击!这种攻击产生的原因是国际化域名IDNs(Internationalized Domain Names)支持多语种域名,而其中一些非拉丁字符语种的字母与拉丁字符非常相似,字面看很难区分。关于同形异义字钓鱼攻击的相关技术,freebuf上之前已有文章介绍,这里就不再过多介绍这个技术,不清楚可以自行搜索.
0×01 腾讯、京东、支付宝、微博、淘宝已面临同形异义字钓鱼攻击
真有这么多网站面临威胁?其实还不止,还有爱奇异、小米……
目前发现的威胁都是通过西里尔字母来进行混淆

上图是西里尔字母表,我们可以发现有不少字母与拉丁字母相识,这就是为什么用西里尔字母来进行混淆的原因
浏览器会通过Punycode来编码非拉丁字符的域名,编码后就可以避免产生混淆,但发现如果域名的一个字段里所有字符都是同一种语言,就不会进行编码(之前freebuf上有篇文章可能是笔误,关于这点刚好说反了)。据说这个问题chrome已经修复了,并且google还给相关发现者2000美金的奖励。
但我还是发现chrome有时候编码了,有时候又没编码

比如上面看到的“淘宝”,并没有编码。后面要讲的钓鱼攻击对是否编码已经不重要,所以现在就不用深究这个问题
我们先从јԁ.com开始(这里的јԁ.com 已不等于 jd.com了,是不是认不出来有什么区别 ^_^)
我们尝试注册јԁ.com,先Punycode转码后再查询
јԁ.com 转码后 xn--e2a25a.com


在国内不允许注册Punycode转码后的域名

在国外的域名网站就可以正常查询了,这里显示的not available是指已经被注册了,而不是说Punycode转码域名不能注册。之前获得谷歌2000美金的安全人员就注册过аррӏе.com(xn--80ak6aa92e.com)这个域名

直接在浏览器中打开 јԁ.com (xn--e2a25a.com )
目前域名还没被解析,来到了域名服务商提供的默认页面。

继续点击“了解如何才能拥有此域名”,可以看到明确说明此域名已经出售。
我们还可以再做个实验:
xiami.com虾米是阿里旗下的音乐网站,
我们查询西里尔字母的хіамі.com,这个域名就没有被注册,显示的available
хіамі.com 转码后 xn--80ayza2ec.com

不是所有的英文字母都有与之相似对应的西里尔字母
我尝试了一些可以用西里尔字母拼出的国内知名网站
ԚԚ.com 转码后 xn--x7aa.com (腾讯)
ԛԛ.com 转码后 xn--y7aa.com (腾讯)
јԁ.com 转码后 xn--e2a25a.com (京东)
аӏірау.com 转码后 xn--80aa1cn6g67a.com (支付宝)
іԛіуі.com 转码后 xn--s1a1bab69g.com (爱奇艺)
ТаоЬао.com 转码后 xn--80aa5bbq6d.com (淘宝)
ԝеіЬо.com 转码后 xn--e1as5bzb58e.com (微博)
ЅО.com 转码后 xn--n1a9b.com (360搜索)
Мі.com 转码后 xn--l1a6c.com (小米)

显示全部已被注册
又尝试了部分以上可以用大小写混淆的形式
Ӏԛіуі.com 转码后 xn--s1a1bb53bvo.com (爱奇艺)
іԚіуі.com 转码后 xn--s1a1bab19g.com (爱奇艺)
іԚіҮі.com 转码后 xn--c2aaa96axr.com (爱奇艺)
ԜеіЬо.com 转码后 xn--e1as5bzb08e.com (微博)
ТАОВАО.com 转码后 xn--80aaf1cct.com (淘宝)

同样显示已被注册
试了这么多域名都被注册了,可能我们会再次怀疑是系统问题或是巧合,我在上面的ТАОВАО后面再加个О试试
ТАОВАО О.com 转码后 xn--80aaf1ccaw.com

这个域名就没有被注册了,所以不得不怀疑以上的域名是被刻意注册的

上图是јԁ.com(xn--e2a25a.com)的whois信息,whois信息被隐藏保护的,其他域名也类似或者提示无法显示或者有相关信息也无法追溯,只追溯到一个域名是国内安全圈的老司机注册的,这位可能是用来做研究
0×02 实施同形异义字钓鱼攻击,钉钉存在安全隐患
前面提到的chrome的漏洞就是浏览器地址栏没有进行Punycode转码,导致相似的文字可能产生混淆,存在钓鱼攻击的威胁。
我们这里不管google的这个漏洞有没有修复,换一个攻击思路:
一般内嵌手机APP的webview是没有地址栏的,所以转码也好,没转码也好,用户是看不到网址的
这里选了两个手机端最常见的即时聊天APP:
微信 和 钉钉
用域名:
ТаоВао.com 转码后 xn--80aaf1cct.com
在我自己的iphone上进行了试验:

在微信里,这样的域名无论是否加http前缀都不会自动识别为url,所以也无法点击。(像上面baidu.com识别为url的会显示为蓝色,就可以直接点击打开)
然后再在钉钉里进行相同的尝试


在钉钉里三种形式都自动识别为url,点击后就可以直接打开网址
按住手机屏幕下拉可以看到当前的url为 xn--80aaf1cct.com 即 ТаоВао.com
也就是说在钉钉里发起同形异义字钓鱼攻击很难防范,存在很大的安全风险。加之前面的分析,大量这样的钓鱼网址已被注册,随时可能面临威胁
这里就没再对其他的APP做实验,很可能或多或少都有这样的问题
同形异义字:看我如何拿到TaoBao.com的解析权的更多相关文章
- NLP 开源形近字算法补完计划(完结篇)
前言 所有的故事都有开始,也终将结束. 本文将作为 NLP 汉字相似度的完结篇,为该系列画上一个句号. 起-NLP 中文形近字相似度计算思路 承-中文形近字相似度算法实现,为汉字 NLP 尽一点绵薄之 ...
- 1W字看懂互联网知识经济
互联网知识经济,发生关键变化的不是知识,而是经济. 今天和大家分享方军老师的新书<付费:互联网知识经济的兴起>.这本书是一个老互联网人看新知识经济,很有意思的视角在于,以互联网的发展为节点 ...
- 专治不会看源码的毛病--spring源码解析AOP篇
昨天有个大牛说我啰嗦,眼光比较细碎,看不到重点.太他爷爷的有道理了!要说看人品,还是女孩子强一些.原来记得看到一个男孩子的抱怨,说怎么两人刚刚开始在一起,女孩子在心里就已经和他过完了一辈子.哥哥们,不 ...
- Linux Pam后门总结拓展
首发先知社区: https://xz.aliyun.com/t/7902 前言 渐渐发现pam后门在实战中存在种植繁琐.隐蔽性不强等缺点,这里记录下学习pam后门相关知识和pam后门的拓展改进. 0x ...
- 手把手教你编写一个简单的PHP模块形态的后门
看到Freebuf 小编发表的用这个隐藏于PHP模块中的rootkit,就能持久接管服务器文章,很感兴趣,苦无作者没留下PoC,自己研究一番,有了此文 0×00. 引言 PHP是一个非常流行的web ...
- 2016.03.02,英语,《Vocabulary Builder》Unit 03
ambi/amphi: 指on both sides或者around的意思,ambi-来自拉丁语,amphi-来自希腊语.ambidextrous:[ˌæmbi'dekstrəs] adj. 两手俱利 ...
- idea中搜狗输入法不跟随光标,看不到输入的字
好久没在windows上开发了,今天遇到一个比较坑的问题: 最新版idea,输入法都是最新的;但是idea里面输入字,看不到自己输入的是什么字,好坑... 在外面可以看到输入什么字说明与输入法无关, ...
- JVM-class文件完全解析-字段表集合
字段表集合 这个class文件的解析,分析得有点太久了.前面介绍类魔数,次版本号,主板本号,常量池入口,常量池,访问标志,类索引,父类索引和接口索引集合.下面就应该到字段表集合了. 紧接着接口索引 ...
- 【雷神源码解析】无基础看懂AAC码流解析,看不懂你打我
一 前言 最近在尝试学习一些视频相关的知识,随便一搜才知道原来国内有雷神这么一个真正神级的人物存在,尤其是在这里(传送门)看到他的感言更是对他膜拜不已,雷神这种无私奉献的精神应当被我辈发扬光大.那写这 ...
随机推荐
- 常用的DNS
中国互联网络中心(推荐,安全又快速):1.2.4.8.210.2.4.8.101.226.4.6(电信及移动).123.125.81.6(联通)阿里DNS:223.5.5.5.223.6.6.6goo ...
- 20170717_python爬虫之requests+cookie模拟登陆
在成功登陆之前,失败了十几次.完全找不到是什么原因导致被网站判断cookie是无效的. 直到用了firefox的httpfox之后才发现cookie里还有一个ASP.NET_SessionId 这个字 ...
- hdu_1506:Largest Rectangle in a Histogram 【单调栈】
题目链接 对栈的一种灵活运用吧算是,希望我的注释写的足够清晰.. #include<bits/stdc++.h> using namespace std; typedef long lon ...
- 第2章 rsync算法原理和工作流程分析
本文通过示例详细分析rsync算法原理和rsync的工作流程,是对rsync官方技术报告和官方推荐文章的解释. 以下是本文的姊妹篇: 1.rsync(一):基本命令和用法 2.rsync(二):ino ...
- [C++]智能指针的实现与使用
智能指针 智能指针是当我们在使用对象时,有时会把对象的内存分配在堆上忘记释放,导致内存泄露,并且当多个指针共享同一个对象的内存时,容易出现重复释放内存,导致错误. 我们针对所需要共享的对象,手动完成一 ...
- 正则表达式小结(Regular Expressions)
(原创文章,谢绝转载~) 日常开发中,常用正则表达式方便的进行匹配.筛选工作.正则的常用内容有: 一般情况下原则:从左至右,越多越好(贪婪) 字符:转义:\ ,如 \*,\d (数字)等 选择,cas ...
- TCP/IP协议之ping和traceroute
Ping程序就是调用的就是ICMP报文.利用的是ICMP的应答和回显请求.来看下具体的ping报文. Request的报文类型为8 Reply的类型为0 通过具体的ping报文可以看到ping报文的大 ...
- 【samba】samba 用户权限配置(转)
首先要保证你的samba安装并配置好,关于安装和配置samba请参考此文章 http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.a ...
- 正则替换内容中图片的src
string test = "<IMG src=\"http://www.baidu.com/upload/2009_11/09112110144808.jpg\" ...
- 关于Visual Studio调试 无效指针提示
前几天遇到了这个问题,编译没问题,直接运行没问题 但是一调试,会提示无效指针,(按Ctrl+F5可以运行,但按F5提示无效指针) 只要这样,新建C:\ProgramData\Microsoft Vis ...