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

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

\\

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

\\

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

\\

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

\\

下面是Haddouche的推文截图:

\\

f69ee0aa276000bdfdee2d0b33da9427.jpg

\\

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

\\

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

\\

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

\\

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

\\

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

\\

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

\\

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

\\

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

\\

500758bee59eff5653748fdaae962c67.jpg

\\

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

\\

感谢覃云对本文的审校。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

appium更新到1.8.2,不能打开运行的解决办法

1、更新下载appium 1.8.2 打开运行 一直是这个界面。很烦躁,重启电脑或者卸载后重新安装还是没有用。 解决版本: 1、查看老版本和新版本的安装位置 老版本默认是 C:\Program Files (x86)/appium安装新的版本后,地址是:C:\Users…

laraval如何使用tdd

1.首先新建一个laravel birdboard项目 composer create-project --prefer-dist birdboard 2.新建单元测试 php artisan make:test ProjectTest 3.书写单元测试 对于初学着来说,最好先预测tdd即将要出现的错误,然后进行测试,判断是否和自…

spring-data-JPA使用JpaRepository注解自定义SQL查询数据库多表查询

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一. 首先在Entity注解的类里面要写好外键关系. 这个 ManyToOne 注解可以建立外键关系, 不要在自己傻傻的写一个 private int grades_id…

posman使用教程

1.新建文件夹 2.新建请求,右击文件夹, 3.点开测试文件,有get,put,post方法,我经常使用的是put方法,区别我就不讲了 4.我基本上填在body里面 5.这是基本的使用,我来更高级一点添加环境变量,一共有…

Linux实战教学笔记42:squid代理与缓存实践(一)

第1章 Squid介绍 1.1 缓存服务器介绍 缓存服务器(英文意思cache server),即用来存储(介质为内存及硬盘)用户访问的网页,图片,文件等等信息的专用服务器。这种服务器不仅可以使用户可以最快的得到他们想要的…

mac电脑php中安装swoole扩展件

1.首先更新php版本,如果已经是最新的请忽略, (1)查看是否安装php brew search php (2)安装最新版本php brew install php 2.查看是否安装openssl,安装了请忽略 (1)查看…

再谈C语言指针—指向另一指针的指针

一、回顾指针概念 早在本书第贰篇中我就对指针的实质进行了阐述。今天我们又要学习一个叫做“指向另一指针地址”的指针。让我们先回顾一下指针的概念吧!当我们程序如下声明变量:short int i;char a;short int * pi;程序会在内存某地址空间上为各变量开辟…

spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。…

Alpha 冲刺五

团队成员 051601135 岳冠宇051604103 陈思孝031602629 刘意晗031602248 郑智文031602234 王淇会议照片 项目燃尽图 项目进展 暂无实质性进展。 项目描述 问题困扰: 商品分类出现困惑。交互部分向服务器发送请求失败,安卓在4.0后对网络请求有限制要求&…

python -m xxx.py和python xxx.py的区别

先看下python -m site作用是显示sys.path的值内容,也就是python搜索模块的目录,作用类似于linux下的PATH python -m SimpleHTTPServer 会在sys.path的所有路径下查找SimpleHTTPServer.py文件; 而python SimpleHTTPServer.py则是在当前查找文…

C语言多维数组与多级指针

多维数组与多级指针也是初学者感觉迷糊的一个地方。超过二维的数组和超过二级的指针其实并不多用。如果能弄明白二维数组与二级指针,那二维以上的也不是什么问题了。所以本节重点讨论二维数组与二级指针。一、二维数组 1、假想中的二维数组布局我们前面讨论过&…

docker的安装与安装mysql(mac,centos为例)

一、mac安装docker 1、去这个网站下载安装https://www.docker.com/get-started 2、运行docker 运行开启docker docker run -dp 80:80 docker/getting-started 二、centos8安装docker 1、安装docker 下载低版本的 yum install -y docker-ce --nobest 2、安装扩展 wget http…

配置PPPOE

先配置服务端PPPOE-Server先为路由添加一个账号为PPP所使用[PPPOE-Server]aaa [PPPOE-Server-aaa]local-user test password cipher 123 //添加一个本地账号[PPPOE-Server-aaa]local-user test service-type ppp//设置test账号类型为PPP账号[PPPOE-Server]ip pool test//添加一…

eclipse弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创

IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示、重构、J2EE支持、各类版本工具(如git、svn、github)、maven等方面都有很好的应用。 IntelliJ IDEA有免费的社区版和付费的旗舰版。免费版只支持Java等为数不多的语言和基本的IDE特性,旗舰版还支持…

laravel安装prettier,git hook代码格式化工具

1、安装prettier的php扩展 npm install --global prettier prettier/plugin-php 2、安装husky,lint-staged(git钩子)使用 npm i prettier lint-staged husky -D 3、修改package.json文件 在scripts后面添加两个函数 "husky": …

C语言指针数组和数组指针

一、指针数组和数组指针的内存布局 初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。 数组指针&#xf…

求二叉树的高度

1 int GetHeight(BinTree BT)2 {3 int HL, HR, MaxH;4 5 if(BT)6 {7 HL GetHeight(BT->Left); //求左子树的高度8 HR GetHeight(BT->Right); //求右子树的高度9 MaxH (HL > HR) ? HL : HR; //取左右子树较大的高…

机器学习常用模型

(原作:MSRA刘铁岩著《分布式机器学习:算法、理论与实践》。这一部分叙述很清晰,适合用于系统整理NN知识) 线性模型 线性模型是最简单的,也是最基本的机器学习模型。其数学形式如下:g(X;W)WTX。有…

(转)告别程序员生涯,一点感慨,与诸君共勉

转自:https://blog.csdn.net/phphot/article/details/2230411 再过几天,我就正式告别程序员生涯了,这也是我最后一次以职业程序员身份在CSDN发表文章。小弟谈谈入行几年来的感受,做一个人生阶段的自我总结,同时希望能…

C语言指针与数组之间的恩恩怨怨

很多初学者弄不清指针和数组到底有什么样的关系。我现在就告诉你:他们之间没有任何关系!只是他们经常穿着相似的衣服来逗你玩罢了。指针就是指针,指针变量在32 位系统下,永远占4 个byte,其值为某一个内存的地址。指针可…