一种研究员已经找到了一种方法来禁用iPhone上的WiFi功能通过让它们加入具有奇怪名称的WiFi热点。

这不应该发生。在输入到输入时,您在编码学校学习的第一件事(这实际上是任何数据,设备必须与之执行某些事情)是证实它。好吧,也许不是第一件事,但如果你想练习安全的编码,它是最重要的事情之一:确保黑客无法通过喂食它无法消化的东西来滥用您的应用程序。像WiFi网络名称。

这不是第一次通过使用a可能会妥协的方式格式化字符串漏洞。而且我担心它不会是最后一个。

让我们谈谈iPhone

iPhone据说比Android设备更安全,但事实证明我可以断开您的安全iPhone的连接任何WiFi使用简单格式字符串漏洞。我要做的就是让你连接到特定的WiFi热点。

用于粉碎手机的神奇WiFi网络名称(SSID)是%p%s%s%s%n但由于潜在的问题几乎肯定是这样的事实被解释为一个字符串格式说明书,您可以打赌有更多的可能性。

字符串格式指定符

在编程中,您有时必须建立您想要使用您提前认识的一些信息显示用户的文字和句子,以及一些您没有。在C和C风格语言中,字符串格式指定符使用。它们具有特殊的含义,并作为变量或命令处理Printf.功能。

一个简单的printf命令可能如下所示:

printf(“必威平台APPMalwarebytes%n规则”,&c);

在这个例子中%n ..是一种修改输出的字符串格式说明符。当程序打印句子“Malwarebytes%n规则”时必威平台APP%n ..将被前面的字符数替换,因此它将输出:

必威平台APPMalwarebytes 13规则

有许多其他格式说明符有不同的东西。它们看起来像一个百分比的符号,后跟一个字符,用于指定数据类型,例如s将被一串字符替换,%D.按数字(十进制整数),%P.通过指针地址等。

所以你可以看到为什么一个名叫WiFi网络%p%s%s%s%n可能会造成问题。Apple的程序员应该确保其代码读取名称,如百分比标志和字母,而不是字符串格式说明符。似乎他们没有。

严肃

我能听到你的想法,所以是什么?我永远不会以这样一个奇怪的名字加入一个wifi热点。好吧,也许你不会,如果你会注意到这个名字看起来很普通。但任何人都可以欺骗众所周知的SSID,如果它以前的名称连接到Open SSID,您的设备会愉快地连接到它。

其他研究已经表明,漏洞不仅限于IOS操作系统,它可能会影响麦斯科芯片操作系统。同一研究团队发现了一种方法来构建网络名称,这些方式不会将用户暴露给怪人字符,使其看起来像一个合法的现有网络名称。

研究人员无法找到一种方法来构建可以导致远程代码执行(RCE)攻击的SSID名称。但这可能会变得太复杂,因为您将受到SSID(32个字符)的最大长度,字符串格式说明符的有限功能以及格式字符串的内存位置的限制。格式字符串位于堆上,该堆不提供堆栈上指针的攻击者控件。这并不是说这种方法不能与其他漏洞结合使用。

从测试中恢复

如果您无法抗拒测试,现在您希望您的WiFi选项返回,这是如何做到的。您必须重置他们的iPhone网络设置(设置>常规>重置>重置网络设置),这将删除所有WiFi密码。这不是问题的永久修复。任何时候您的设备受问题的影响,您都必须再次重置它。

并不要用你的测试落后。由于该研究人员发现,重置不适用于每个可能的字符串。