相信FBer们最近都听说或遇到了——当苹果iOS设备接收到一条精心编写的“乱码”信息时就会立即崩溃。
这个缺陷的代号为“effecetive.Power”,它存在于Apple的CoreText库如何处理文本信息unicode字符中。起初的变体中包含着一个阿拉伯字符,但其实无需如此,一个unicode的75位字符串就能实现这个目的(比如中国字)。
用户知道这个bug后,恶作剧遍地打滚,放眼望去Apple移动设备纷纷崩溃,一时间哀鸿遍野不忍直视……
探索的可能性远未结束,一些酷炫的技巧及恶作剧纷至沓来——YouTube上放出一个视频,讲述了其中10个针对iPhone的恶作剧。
除了向目标设备发送简单文本(通过多个通信渠道),在用户从通知区域预览信息时导致设备崩溃之外,还有一些恶作剧与预览无关。
其中一种方法是将WiFi网络的名称改为含特殊unicode字符串的名称。效果?用户无法访问WiFi设置,因为app在读取这个名称后会瞬间崩溃。当然,一旦用户退出无线网络范围,就可重新访问设置。
另外一个恶作剧是将含有unicode的文本插入右键主题行,并将其发送给iPhone用户。效果?设备在访问通知时崩溃,而邮件App无法登录。
YouTube还展现了如何让苹果Maps app自我了结的视频。方法是为Apple Maps创建一个URL解析机制,将这个麻烦的字符串插入网页链接中。但有人访问链接时,提示地图位置的文本被点击时,Maps崩溃。
位居10大恶作剧第7位的是干掉iOS的Safari。通过创建一个题目中包含难以处理的unicode字符的网页,从Safari访问的人将会见证浏览器的崩溃。另外一个后果是Safari将无法访问以跟unicode字符串一样字母开头的网页了。
视频展现的其他恶作剧包括将用户拒之Snapchat会话的门外、将这个代码保存为联系人名称(当查看整个列表时,通讯录会崩溃)、更改设备名称锁定手机的About页面访问。
对了,这个字符串叫effective. Power ॣ ॣh ॣ ॣ 冗。
*参考来源 Softpedia ,codename2015/翻译,转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)