写点什么

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:002850
用户头像

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

关注

评论 1 条评论

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

Spring 5 中文解析核心篇-IoC容器之Bean作用域

青年IT男

Spring5 Spring Framework

从RainbowBridge看Js与Java交互中的安全漏洞

OPPO安全

安全 安全漏洞

手把手教程:基于环信4小时开发一个视频会议APP【附源码】

环信

Spring 5 中文解析核心篇-IoC容器之类路径扫描和组件管理

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之SpEL表达式

青年IT男

Spring5 Spring Framework

软件工程开发之道:了解能力和复杂度是前提

华为云开发者联盟

软件工程 开发 项目 代码 复杂度

Spring 5 中文解析核心篇-IoC容器之AOP编程(下)

青年IT男

Spring5 Spring Framework

Redis 持久化 --RDB

是老郭啊

redis redis持久化 aof rdb

车队管理软件

samhuang

Spring 5 中文解析核心篇-IoC容器之IoC容器和Bean概述

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之依赖关系

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之基于注解的容器配置

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之Environment抽象

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之AOP编程(上)

青年IT男

Spring5 Spring Framework

手把手带你写Node.JS版本小游戏

华为云开发者联盟

Java node.js Node 华为云 剪刀石头布

基于环信sdk在uni-app框架中快速开发一款多平台社交Demo

环信

区块链数字货币交易所开发,数字交易平台搭建

13530558032

话题讨论 | 你的桌面上会放哪些有趣的小摆件?

InfoQ写作社区官方

工作 话题讨论 办公室

Spring 5 中文解析核心篇-IoC容器之自定义Bean性质

青年IT男

Spring5 Spring Framework

敏捷转型谁先动:老总,项目经理or团队

华为云开发者联盟

项目管理 敏捷 敏捷开发 团队 华为云

Spring 5 中文解析核心篇-IoC容器之基于Java容器配置

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之ApplicationContext与BeanFactory

青年IT男

Spring5 Spring Framework

区块链支付系统开发,数字货币支付承兑商APP模式搭建

13530558032

你真的懂AQS吗?透彻理解AQS源码分析系列之AQS基础一

InfoQ_d2212957090d

AQS

为什么企业自主开发软件时,都会使用统一的模块化框架式开发平台?

Philips

敏捷开发 代码优化 框架设计 框架开发 标准框架

日防夜防,“隐私窃贼“难防? 手把手教你如何使用OPPO手机管理应用权限

OPPO安全

安全 隐私保护 数据隐私 sdk

Spring 5 中文解析核心篇-IoC容器之Spring AOP API

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之BeanDefinition继承与容器拓展点

青年IT男

Spring5 Spring Framework

Spring 5 中文解析核心篇-IoC容器之JSR330标准注解

青年IT男

Spring5 Spring Framework

CSS常用样式——绘制各种角度的三角形(1)

程序员学院

CSS css3 CSS小技巧

企业表格技术与风险指标补录系统

葡萄城技术团队

SpreadJS

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