html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); filter: gray }
中二病晚期の物語
我们一直都在为梦想而努力着。

2021年iPhone无线功能BUG,附解决方法

iPhone 又出现诡异的 Bug 了!

安全研究人员@Carl Schou 在推特上公布了自己的发现,当 iPhone 连接经过特殊构造的 SSID(无线网络名称)时,会导致 iPhone 无线网络功能出现异常。

https://zebwq.top/wp-content/uploads/2021/06/2-21-1-472x1024-1.gif

这个特殊的 SSID 为%p%s%s%s%s%n

https://zebwq.top/wp-content/uploads/2021/06/6-21-2-1024x368-1.png

小编尝试将无线路由器的 SSID 修改为这个名称,使用 iOS 14.6 系统的 iPhone 12 mini 测试。

结果与 Carl Schou 描述的一致,无线局域网功能无法开启,无法正常上网,需要用到 WiFi 功能的隔空投送操作也无法进行。

https://zebwq.top/wp-content/uploads/2021/06/6-21-3-1024x1000-1.png

包括 iOS 14.4.2 系统也会出现这一问题,不过小编使用已经升级 iOS 15 测试版的 iPhone 连接这个网络,会直接提示无法连接,没有引发异常。

iPhone 连接这个奇葩的 SSID 出现 Bug,可能的原因是 iPhone 对 SSID 名称错误的解析导致

学习过编程的小伙伴应该了解,“%”在 C 等语言中不仅仅表示百分号,它还有格式化字符串的作用,iPhone 连接“%p%s%s%s%s%n”的 SSID 后,系统代码内没有将其理解为普通字符串,而是理解成代码进行解析,这就会导致任意的内存写入和缓冲区溢出,从而破坏内存数据。而 iOS 看门狗机制会终止该进程,导致 Wi-Fi 功能被禁用。

https://zebwq.top/wp-content/uploads/2021/06/6-21-4-1024x1013-1.png

目前已经定位到会引起 Bug 的代码:

https://zebwq.top/wp-content/uploads/2021/06/6-21-5-1024x283-1.png

解决方法

经过测试发现,无法通过重启 iPhone 来恢复正常,目前唯一有效的方法是还原 iPhone 网络设置。

在系统设置-通用-还原中,点击还原网络设置,输入 iPhone 密码会自动重启,进入系统后无线网络功能便恢复正常。

https://zebwq.top/wp-content/uploads/2021/06/6-21-6-1024x1000-1.png

需要注意的是,还原网络设置会清除以前连接过的 Wi-Fi 和密码、蜂窝网络设置等。

iPhone 出现诡异的 Bug 这已经不是第一次了,最近的一次是在 2020 年,一组由意大利国旗 Emoji 和信德语组成的文字会引起 iOS 系统闪退或死机。

https://zebwq.top/wp-content/uploads/2021/06/6-21-7.png

当时这个 Bug 被许多人利用来恶搞,不仅影响到了所有的 iPhone,连 iPad、Apple Watch 也未能幸免。

这次出现的特殊 WiFi 名称导致 iPhone 无线网络被禁用的 Bug,苹果应该会在下一个 iOS 系统更新中进行修复,在此之前大家看到类似名称(含有多个%百分号)的 WiFi 尽量不要加入。

赞赏

中二病晚期

文章作者

一个沙雕UP主的杰作

发表评论

textsms
account_circle
email

Hello!I’m 中二病晚期

2021年iPhone无线功能BUG,附解决方法
iPhone 又出现诡异的 Bug 了! 安全研究人员@Carl Schou 在推特上公布了自己的发现,当 iPhone 连接经过特殊构造的 SSID(无线网络名称)时,会导致 iPhone 无线网络功能出现异常…
扫描二维码继续阅读
2021-06-21