一段代码,iOS 崩溃重启;再来一行,干崩 Chrome!

开发:“上次说要加个按钮重启 iPhone,现在可以做了!”

产品:“嗯?不是说做不了吗?”

开发:“我自有我的办法!”

近日,国外安全研究人员 Sabri Haddouche 发推表示,只要 15 行代码,就可以让一台 iPhone 崩溃重启。

据了解,这是 WebKit 渲染引擎存在的一个漏洞,该漏洞会导致 iPhone 和 iPad 使用的 iOS 操作系统崩溃并重启。

崩溃原因

可以通过加载特定 CSS 的 HTML 页面来利用此漏洞。

CSS 代码并不复杂,主要是利用 backdrop-filter 这个 CSS 属性。该属性可以实现一种类似高斯模糊的效果。但是这样的操作非常的消耗资源,如果被大量的应用,高昂的计算绘制成本,会导致 WebKit 渲染器超载,最终导致系统崩溃。

这段代码,首先背景有一张经过 bases64 编码的图片,大量的 div 标签在其之上,就会导致所有的 div 标签都进行 backdrop-filter 操作,最终吃掉大量的计算资源,导致崩溃。

影响范围

此崩溃影响的范围,在 iOS9 ~ iOS12 之间,有用户使用 iOS7 的设备进行测试,并没有发生崩溃情况。但是现在大量的用户都会随着 iOS 系统的发布升级新系统,很少有愿意保留旧系统并持续使用的。

此漏洞发生在 WebKit 这个浏览器内核中,它会影响 iPhone、iPad、Mac、以及 iWatch。

注意,这些都需要使用内置的 Safari 浏览器打开才生效,因为 Chrome 浏览器并不是使用的 WebKit 内核。

值得庆幸的是,这个漏洞虽然讨厌,但是并不能用来执行恶意代码,也无法盗取用户数据,它只会导致系统崩溃并重启系统。

Haddouche 已经向苹果公司报告了该漏洞,但是至今还没有回应。

崩溃的链接

说到这里肯定有好奇的朋友想试试。Haddouche 也提供了带有这段代码的网页连接,想试试就复制去 Safari 里打开吧(微信打开也行),不过在此之前请有心理准备,慎重点击。

到目前为止,该链接已经被点击了 6000+ 次了,并且还在快速增长,看来好奇的人很多。

连接太长了,我生成了一个短链接:

http://bitly.com/2MB5rSm

下面是这段代码的 Github 链接:

https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea

不能放过 Chrome

在此之前,Haddouche 还发布了一个消息,通过一段代码,可以导致 Chrome 卡死。

这段代码没有那么神奇,就是在一个循环里不停的 “后退” “前进” 操作,它们之所以能让 Chrome 卡死,不是因为死循环,而是因为 “后退”、“前进” 操作会触发同步 IPC,这并不会让选项卡崩溃,但是会导致 Chrome 卡死。

Google 官方有一个漏洞赏金项目,只要发现了 Google 产品的漏洞并上报上去,Google 在确定了漏洞的级别后,就会对发现者以金钱奖励的回报。

这一行代码,可以引发 Chrome 卡死,但是根据 Google 官方的 Bug Bounty 规则,他们并不是安全问题,最终让 Haddouche 与奖金无缘。

Haddouche 也提供了一个嵌入此代码的网页链接。

https://rawgit.com/pwnsdx/6c1049ed4e17a8dc3f36ba6a677b98a6/raw/2f254b43d91285c888b42e9b7d9270171ebb04ae/dos.html

建议你想清楚再打开它,它会导致 Chrome 卡死,最终可能需要重启来解决,哪怕强制退出了 Chrome,下次打开的时候依然会提示你,是否恢复之前打开的网页,如果你选择恢复,这就死循环了。

只有放弃之前打开的一堆网页,或者拼你多年练习的手速,在该页面加载完成之前,关闭它。

小结

导致崩溃和卡死的漏洞,总是非常好的恶作剧的素材,毕竟这事儿,重启能解决,但是也不要恶意传播。

你还有什么有意思的代码,欢迎在留言区讨论。


联机圆桌」????推荐我的知识星球,一年 50 个优质问题,上桌联机学习。

公众号后台回复成长『成长』,将会得到我准备的学习资料,也能回复『加群』,一起学习进步;你还能回复『提问』,向我发起提问。

推荐阅读:

写作是核心竞争力 | 分词,科普及解决方案| 图解:HTTP 范围请求 | 无需服务端,玩转小程序,内附学习资料 | 技术创业选择清单 | HTTP 内容编码 | 图解 HTTP 缓存 | 辅助模式实战 | 辅助模式玩出花样 | 小程序 Flex 布局 | 好的 PR 让你更靠谱

听说喜欢留言和分享的人,会有好运来哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值