WIFI连接这串乱码即可破坏Phone无线功能

1,671 阅读3分钟

逆向工程师Carl Schou在连接名为%p%s%s%s%s%n的个人WiFi热点时出现了问题。Schou发现只要连接到该热点,他手机的WiFi功能就被禁用了,每次尝试开启后,WiFi功能仍然会马上被关闭,即时重启设备或修改热点名也不可以。

image.png

iPhone爆WiFi bug,只需连接特定WiFi热点即可破坏iPhone的无线功能。

上周,逆向工程师Carl Schou在连接名为%p%s%s%s%s%n的个人WiFi热点时出现了问题。Schou发现只要连接到该热点,他手机的WiFi功能就被禁用了,每次尝试开启后,WiFi功能仍然会马上被关闭,即时重启设备或修改热点名也不可以。

漏洞复现

Schou称,他是在运行iOS 14.4.2版本的iPhone XS上发现了该问题。BleepingComputer 研究人员在运行iOS 14.6的iPhone上也确认了这一奇怪的WiFi网络问题。

image.png

iPhone WiFi bug,连接特定WiFi即可破坏无线功能 加入SSID为%p%s%s%s%s%n的无线网络

image.png

在多个测试中,研究人员发现在尝试连接到奇怪的SSID后,WiFi设置开始工作不正常,并引发iPhone无线连接问题。在一些测试中,连接到SSID会发生失败的情况,但也无法再连接到正常的无线网络。

iPhone WiFi bug,连接特定WiFi即可破坏无线功能 连接到SSID后WiFi功能收到影响

该漏洞的潜在风险是很大的,因为恶意攻击者可以在公共区域植入一个恶意WiFi热点来破坏连接到该热点的iPhone设备。

有用户尝试在安卓设备上复现该漏洞,但是发现该漏洞并不能在安卓设备上复现,表明该漏洞并不影响安卓设备。

可能是字符串格式漏洞

有研究人员分析称该漏洞可能是输出字符串分析过程引发的安全漏洞。当WiFi热点名中有包含"%"的字符串,iOS可能会错误地将"%"后跟的字母翻译称字符串格式说明符。

在C语言和类C风格的语言中,字符串格式说明符有特殊的含义,语言编译器在处理说明符时会作为变量名或命令来处理,而不是作为文本处理。

比如,下面的printf命令并不会真的打印出"%n"字符,但是会保存%n 之前的10个字符到变量c中。"%n"只是一个格式说明符,而不是真实的文本字符串。

printf("geeks for %ngeeks ", &c); 

image.png

如何应对?

虽然重启设备无法解决iPhone WiFi功能被破坏的问题,但是可以通过重置设备的iPhone网络设置的方式来解决。具体方式为:

进入iPhone设置,选择通用( General); 然后选择通用下的重置(Reset); 然后就进入了重置界面,可以选择重置不同的iOS特征或者对设备进行重置。然后宣泄重置网络设置就可以对网络设置重置。