写点什么

15 行代码让苹果设备崩溃,最新的 iOS 12 也无法幸免

  • 2018-09-26
  • 本文字数:840 字

    阅读完需:约 3 分钟

安全研究人员 Sabri Haddouche 发现了一个只需几行代码就可以让 iPhone 崩溃并重启的方法。

Sabri Haddouche 在 GitHub 上发布了一个示例网页,只有 15 行代码,如果在 iPhone 或 iPad 上访问这个页面,就会崩溃并重启。在 macOS 上使用 Safari 打开该页面也会出现浏览器挂起,无法动弹。

这段代码利用了 iOS Web 渲染引擎 WebKit 中的一个漏洞。Haddouche 解释说,在 CSS 过滤器属性中嵌套大量元素(如 <div>),就会耗尽设备的资源,并导致内核崩溃,然后关闭并重新启动操作系统。

Haddouche 说,“任何在 iOS 上渲染 HTML 的应用程序都会受到影响”。他警告说,任何人都可以通过 Facebook 或 Twitter 上向你发送链接,或者通过电子邮件发送链接,如果你打开了这些连接或者访问了任何包含这段代码的网页,就会中招。

下面是 Haddouche 的推文截图:

他在推文中给出了网页链接和 GitHub 代码链接,并事先给出警告,如果点了那个网页链接后果自负。

经安全公司 Malw​​arebytes 的证实,最新的 iOS 12 测试版在单击这个链接时也会发生挂起。

即使有些“幸运”的设备不会发生崩溃,也会重新启动用户界面。

好在这个攻击虽然令人讨厌,但它不能用来运行恶意代码,也就是说无法利用它来运行恶意软件,也无法通过这种方式来盗取数据。但目前没有简单的方法可以防止攻击发生。只要单击链接或打开 HTML 电子邮件,这段代码就会让设备崩溃。

Haddouche 向苹果公司报告了这个漏洞,苹果公司表示正在调查中,还没有发言人就此事发表评论。

这里给出带有这段代码的网页链接,有好奇心的人在单击链接之前请慎重考虑: https://t.co/4Ql8uDYvY3

下面是这段代码的 GitHub 链接: https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea

打开这个 GitHub 页面,可以看到代码如下:

上面红色部分是一张经过 base64 编码的图片,下面是很多 <div> 标签。正如 Haddouche 所说,就是利用了在过滤器属性中嵌入大量 HTML 元素标签来消耗设备的资源,从而达到攻击的目的。

感谢覃云对本文的审校。

2018-09-26 19:002641
用户头像

发布了 731 篇内容, 共 462.4 次阅读, 收获喜欢 2005 次。

关注

评论 1 条评论

发布
用户头像
点了链接会怎么样?
2018-11-22 15:48
回复
没有更多了
发现更多内容

使用less/css 动态的切换主题色实现换肤功能

默默的成长

前端 Vue 3 10月月更

页面中元素的锚点定位

默默的成长

前端 Vue 3 10月月更

从react源码看hooks的原理

flyzz177

React

【LeetCode】 LRU 缓存机制Java题解

Albert

算法 LeetCode 10月月更

React源码分析(三):useState,useReducer

goClient1992

React

嵌入式Linux下移植MT7601无线WIFI(网卡)驱动

DS小龙哥

10月月更

react源码中的生命周期和事件系统

flyzz177

React

算法基础(六)| 双指针算法及模板应用

timerring

算法 双指针 10月月更

pandas如何读写源数据

芥末拌个饭吧

pandas python 3.5+ 10月月更

NFT链游系统开发丨Alien Worlds异形世界链游系统开发成熟技术(Demo)

I8O28578624

软件测试 | 测试开发 | 一文搞定 Appium 环境配置

测吧(北京)科技有限公司

测试

2022昇腾AI创新大赛16地区域决赛圆满落幕 32支队伍角逐全国冠军

极客天地

滴滴前端二面vue相关面试题

bb_xiaxia1998

Vue

页面中元素的吸顶

默默的成长

前端 Vue 3 10月月更

在一个公司死磕了5-10年的程序员,最后都哪里去了?

源字节1号

React源码分析(二)渲染机制

goClient1992

React

Java三大特性(三)—多态

共饮一杯无

Java 多态 10月月更

PriorityQueue 源码解析(四)

知识浅谈

Queue 10月月更

Vue的computed和watch的区别是什么?

bb_xiaxia1998

Vue

软件测试 | 测试开发 | Cypress 强大全新的 Web UI 测试框架应用尝鲜

测吧(北京)科技有限公司

测试

最大为 N 的数字组合

掘金安东尼

算法 10月月更

new Vue的时候到底做了什么

bb_xiaxia1998

Vue

你真的了解redis持久化机制AOF吗?

芥末拌个饭吧

redis 后端 10月月更

部署 SAP UI5 应用到 SAP BTP 时遇到的 fiori not found 错误消息

汪子熙

JavaScript 前端开发 Fiori SAP UI5 10月月更

linux下驱动开发_红外线解码驱动

DS小龙哥

10月月更

vivo平台化实践探索之旅-平台产品系列01

vivo互联网技术

平台化 系统平台化

你了解Redis RDB快照吗

芥末拌个饭吧

redis 后端 10月月更

深入浅出防抖与节流函数

CoderBin

JavaScript 面试 前端 防抖节流 10月月更

SparkSQL on K8s 在网易传媒的落地实践

网易数帆

大数据 spark Kubernetes Kyuubi 企业号十月 PK 榜

华为云从入门到实战 | 云容器服务

TiAmo

华为 华为云 云开发 10月月更

CEF | VS2017+Qt5.14.2+cef 实现基于CEF框架的客户端

YOLO.

qt 10月月更 C++

15行代码让苹果设备崩溃,最新的iOS 12也无法幸免_Apple_无明_InfoQ精选文章