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

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

今日限免课程:《IOS常用控件及布局》

课程大纲

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

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

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

展开全文

(滑动查看课程目录)

课程免费仅限今日,24小时后 恢复原价

若想直接学习课程, 扫码学习

(以下内容为正文)

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

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

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

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

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

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

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

崩溃原因

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

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

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

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

影响范围

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

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

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

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

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

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

崩溃的链接

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

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

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

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

http://bitly.com/2MB5rSm

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

不能放过 Chrome

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

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

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

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

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

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

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

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

小结

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

充电时间 - 今天限免课程

在当前形势下,iOS移动应用开发已经成为主流应用。那么你是否想了解一下iOS相关内容呢?

不妨来看看今日推荐的免费课程《 IOS常用控件及布局

本课程共 5章,力求为迷茫中的同学寻找方向

课程大纲如下:

课程大纲

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

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

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

(滑动查看课程目录)

课程的设计逻辑

本课程主要介绍iOS开发中常用控件的层次结构和基本使用,内容涵盖UIView、UIButton、UISlider、UISwitch、UITableView、UIScrollView等控件的基本使用和AutoLayout技术的实现,最后通过案例演示各个控件在实际开发工作中的使用。

哪些人适合学习

  • 具备Objective-C基础语法
  • 想快速上手制作UI页面的实习生

如何进行学习?

极客学院每天会针对性的推出限免课程,只需 2步,轻松开始学习:

0 条评论

目前没有人发表评论

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。