话说你们就不发什么
file:///
还有
سمَـَّوُوُحخ ̷̴̐خ ̷̴̐خ ̷̴̐خ امارتيخ ̷̴̐خ
477K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4c8W2j5$3S2U0M7Y4g2F1j5$3S2Q4x3X3g2U0L8$3#2Q4x3V1j5J5x3o6p5K6i4K6u0r3x3o6S2Q4x3V1j5J5z5g2)9J5c8X3u0#2k6#2)9J5k6r3W2F1i4K6u0V1j5i4m8H3L8r3g2K6i4K6u0V1j5$3!0J5k6i4c8W2P5s2c8Q4x3X3c8S2L8r3I4G2N6%4y4Q4x3X3c8K6M7r3g2U0K9h3k6A6j5#2)9J5k6s2y4@1M7X3W2F1k6#2)9J5k6r3!0X3i4K6u0V1j5$3S2S2M7X3q4U0N6r3g2J5M7#2)9J5k6s2c8G2i4K6u0V1j5%4u0S2M7$3S2Q4x3X3c8A6L8%4y4Q4x3X3b7$3i4K6u0V1L8%4y4Q4x3X3c8^5i4K6u0V1x3e0m8Q4x3X3b7^5i4K6u0V1j5i4m8H3M7#2)9J5c8R3`.`.
这里已经有报道了 是文本渲染引擎出了bug 具体bug怎么引发多扯也没有用 需要看bug报告细节
"A bug in Apple’s CoreText rendering engine in iOS 6 and OS X 10.8 causes any apps that try to render a string of Arabic characters to crash on sight"
从这里看来,影响到的不光是ios设备,还包括特定版本的 mac os X
"The issue affects apps on iOS 6 and OS X 10.8 but does not work on OS X 10.9 Mavericks and iOS 7 beta releases."
从这里看来,只要升级下就完事了,建议大家速度升级iOS设备的系统到iOS7 以及将受影响的 `OS X 10.8` 系统升级下。 (作为一个果黑来提醒果粉升级系统总感觉怪怪的)
"Because it’s a CoreText bug, any apps that access this font framework to render text are affected."
从这里看来,其实不光是微信客户端,任意引用到这个所谓的CoreText文本渲染引擎的app都要遭殃,我倒是想到个很恶心的破坏,就是那些短信客户端往往有预览功能,要是你给发个带这种字符的文本,放在最开头,预览的时候就能给搞崩溃,那后面他一直都是打开就崩溃,有一段时间不能看短信了,(作为果黑感觉很过瘾额)
You could also change the name of a wireless network to the characters and it will crash any device that scans that network to connect.
这里是个老外更生猛的玩法,就是把路由的网络名也给改成那串字符,也会导致设备崩溃,所以你看跟微信一毛钱关系也没有嘛
BTW, 那个文本渲染引擎主要是为了组件复用和方便同意主题格式搞的,bug的引发我的猜测是跟utf与unicode处理有关系
看了arstechnica和 techcrunch的报道,应该就是定位在CoreText渲染引擎的问题了。摘录部分解读如下。
苹果iOS 6和OS X 10.8 系统中CoreText渲染引擎的bug,导致任何企图渲染这串阿拉伯字符的应用崩溃。因为WebKit用的就是CoreText,所以任何使用WebKit的应用都会受到波及,比如Safari。
这个问题只会影响到iOS 6 和 OS X 10.8,而不会影响到OS X 10.9 Mavericks 和 iOS 7 beta版。所以不管这串字符触发了什么问题,他们都不会对未来版本的引擎造成影响了。当然,这些修复帮不了那些还在用iOS6的用户。
最早公布这个问题的俄罗斯网站
ddfK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3S2S2j5Y4u0S2K9r3q4T1M7W2)9J5k6i4u0#2i4@1f1^5i4@1u0r3i4K6V1^5i4@1f1$3i4K6W2m8i4K6V1%4i4@1f1%4i4@1p5@1i4@1u0m8i4@1g2r3i4@1u0o6i4K6S2o6i4@1f1^5i4@1u0r3i4K6V1&6i4@1f1@1i4@1t1^5i4@1q4m8i4@1f1&6i4K6V1%4i4@1q4q4i4@1f1&6i4@1p5J5i4K6V1^5i4@1f1^5i4K6S2n7i4@1t1&6i4@1f1$3i4K6W2q4i4K6W2o6i4@1f1#2i4@1t1%4i4@1t1J5i4@1f1%4i4@1u0n7i4K6S2r3i4@1f1%4i4K6W2r3i4@1p5#2i4@1f1&6i4K6R3I4i4K6V1K6y4W2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4W2)9&6b7#2)9^5z5q4!0q4y4q4!0n7b7g2)9^5y4W2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4q4!0n7c8q4)9^5y4W2!0q4y4W2!0n7x3W2!0m8x3g2!0q4y4W2)9&6b7#2)9^5z5g2!0q4y4g2!0n7b7g2)9&6y4q4!0q4y4g2!0m8c8W2!0n7z5g2!0q4x3#2)9^5x3q4)9^5x3R3`.`.
这不是第一次出现类似bug了,今年2月,有人发现,在Macs的应用中输入‘File:///’ 会导致引用崩溃。当时这个bug被定位为NSTextField问题。
查询了一下那串阿拉伯文字的Unicode编码,是下面这一大坨:
سمَـَّوُوُحخ ̷̴̐خ ̷̴̐خ ̷̴̐خ امارتيخ ̷̴̐خ
然后依然不知道发生了什么......
感觉这种漏洞的技术细节不太会随便向外界披露吧,或者说现在发现时间不久,后面会有更详尽的解释?
另外维基了一下Mac的阿拉伯字符编码,依旧啥也不知道...
dd7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3g2F1i4K6u0W2N6$3W2C8K9i4m8W2k6r3W2S2i4K6u0W2L8%4u0Y4i4K6u0r3N6$3W2C8K9g2)9J5c8V1#2S2j5@1q4J5j5h3u0A6j5#2)9#2k6X3g2F1j5$3!0V1K9h3&6Y4
通过字符串能够起作用的漏洞,我能想到的就是注入漏洞了。不过原生程序毕竟不是网页程序。
另外还有一个可能是字体渲染程序的Bug,对特殊的glyph无法处理。我猜是因为这样所以苹果才没有修,觉得不是很严重的漏洞。
不过在国外网站上看到的消息说,这个漏洞6个月前就已经报给apple了,但是他们没修复。。。。
另外这个漏洞对 OS X 10. 8 也有效,对iOS 7 和 OS X10.9 无效
看上去是IOS6的complex text layout render engine的问题。在计算机中,阿拉伯文,天城文,越南文这类文字被称为complex text,主要的特征就是字符会因为所在的位置,或者附加符号而产生形变。比如阿拉伯文的同一个字母,会因为所处的位置有4种不同的形态。越南的国语字(Chữ Quốc Ngữ)虽然是以拉丁字母为基础,但是复杂的音调系统会造成字符变形,所以也属于complex text.
对于人来说,complex text就是一个死记硬背的过程。而对于计算机来说,就变成一个麻烦事儿。因为保存在存储器上的文本,无法直接逐字符呈现给用户看。举例比如梵文中佛陀(buddha)一词,存储的时候会逐字存储为
ब ु द ् ध五个字符,但是如果直接这么画出来,谁都看不懂。 所以这就需要一个complex text layout render engine,它的作用就是把存储的complex text组合后画出来,变成可以正常阅读的形式。 比如Windows下的uniscribe,就是这么个东西。
这个render engine依赖于两个东西来工作。第一是逐语言的规则。也就是说,藏文一套规则,阿拉伯文一套规则,印地语一套规则,梵文一套规则..... 所以包含了多少种语言的规则,就可以按规则对字符组合,画出来多少种语言的文字来。第二是字体文件内部的合字规则(ligature),OpenType和AAT字体支持ligature。
同样的,Unicode标准提供了一系列用于进行组合的字符,其中一部分就是为了支持complex text的。比如上面看到的ु ् 就是天城体中的元音附记。
那么绕回来,为什么IOS6可能出问题。看上去就是它的complex text layout render engine的规则出问题了。上边的字串中包含了3个Unicode组合字符。U+0310, U+0334, U+0337. 而不幸的是,这三个字符都不用于阿拉伯语。U+0310叫新月点,一般用于转写天城文,孟加拉文等时标记在拉丁字符上的。U+0334是用于国际音标中标记鼻化元音的那个小波浪线,学法语的同学肯定很熟悉。 U+0337是短删除线。 这几个字符都不是用在阿拉伯语中的。
所以当IOS6的engine(原谅我,懒得敲那么长了)在处理这一串字符的时候,会根据字符的范围,判定为阿拉伯字符,再根据字符出现的概率选择一种规则(这步可能没有,但是因为很多语言使用阿拉伯字符,比如乌尔都语,所以这步其实有必要),假定为选择了阿拉伯语规则。那么规则里发现找不到这三个组合字符,伤不起啊有木有! 然后,挂了.......
从程序猿角度来说,没有default fall through处理嘛,bug!
发现了一条有关 iOS6 的bug, 只要在 iOS6的手机上出现某特定字符串,就会引起闪退,比如微信朋友圈,只要有人在朋友圈中发了那条指定字符串,他的朋友一打开朋友圈就会闪退,还有手机 QQ,短信,备忘录等,都会出现这种情况,据有人分析可能是因为 iOS6的字库有漏洞,导致只要显是该字符串就会出现闪退(未证实,不确定)
我就很好奇的开始了实验,首先通过MBP里面的备忘录,存了这条字符串,我的备忘录是通过 iCloud 同步的,然后从手机上打开备忘录,发现直接闪退...然后我准备通过网页版微信给自己发这条字符串,发现刚复制到对话框,网页直接崩溃...接着我在电脑上的 QQ 群里面发了这条字符串,通过手机 QQ 去看,手机 QQ 直接被废.我同事的手机升级了 iOS7,我让他给我发微信,他发给我之后我的微信也被废了,直接无法打开.然后他给我发短信,这条字符串通过推送出现在手机屏幕上的时候我的手机直接重启了,之后短信就无法打开,经过以上手贱的实验,发现这个漏洞实在是杀伤力巨大....总的原则就是只要你的手机显示了这条字符串,就会崩溃.
我说一下初步的解决方案,如果在朋友圈中有人发送了这条消息,那么可以等到你朋友圈中的其他人发的消息把该字符串给刷掉,也就是说只要你朋友圈中一个屏幕内没有这条字符串,就不会崩溃,但是当你往下翻,翻出了这条字符串,照旧会闪退,只有当发布该字符串的人删除了这条消息,才会没事.而如果对方是通过微信或者 手机 QQ 单独发送给你这条字符串,你需要删除微信或者 QQ,重新安装,目的是删除存在本地的聊天记录,只要手机不显示该字符串,就不会闪退.至于短信,让发送者给你再发一条短信,然后让另一个人也给你发一条短信,这样就能打开短信了,然后你把包含该字符串那个对话给删除就可以了
最彻底的解决方案就是升级 iOS7...但是需要开发者帐号,所以不具备普遍意义,我觉得如此严重的 bug,苹果应该会很快发布升级补丁,所以各位也不用惊慌,这个这个补丁从技术上推测应该是很简单解决的(楼主的手机已经彻底被自己玩坏掉了...现在正在升级 iOS7)
国外网站有一个解答:
4d0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3q4F1M7%4N6W2M7Y4y4Q4x3X3g2&6j5h3S2G2L8#2)9J5k6h3y4G2L8g2)9J5c8Y4q4#2k6i4y4@1K9h3!0F1i4K6u0r3K9h3&6V1k6i4S2Q4x3@1k6I4K9h3c8Q4x3@1b7J5x3o6p5K6x3o6R3J5z5e0p5J5x3o6t1@1z5p5q4m8e0i4m8w2x3p5t1`.
基本回答是:
سمَـَّوُوُحخ ̷̴̐خ ̷̴̐خ ̷̴̐خ امارتيخ ̷̴̐خ means that you are summoning the spirit of mohammed. He will then possess your apple product and turn it into a bomb. Not only will it affect your product but he will then possess you and turn you into a terrorist. With mohammed possessing you, he will use the bomb to blow up your house, killing you and your entire family.
Source(s):
Statistics on سمَـَّوُوُحخ ̷̴̐خ ̷̴̐خ ̷̴̐خ امارتيخ ̷̴̐خ
作为一个苹果的开发者,看到这个问题,只能感叹发现这个漏洞的人真是牛B啊!
另外,我使用chrome搜这个代码,也会出现莫名其妙的奔溃,真是好奇害死猫啊╮(╯▽╰)╭
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课