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…

C语言运算符及其优先级汇总表口诀

C语言运算符及其优先级汇总表口诀圆下箭头一顿号非凡增减富强针地长三乘除,四加减,五移位千万别把鱼忘记,它在盛饭的厨子里小灯大灯灯灯不等爸喂鱼,舅疑惑,裸鸡也疑惑十三姨,十四父,十五逗&…

laraval如何使用tdd

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

让你页面速度飞起来 Web前端性能优化

百度网盘下载 第1章 课程简介对课程做简单的介绍。第2章 资源合并与压缩通过本章,我们学习和理解了web前端的概念,以及性能优化的意义所在,并且通过实战中的压缩与合并,深入理解了减少http请求数和减少http请求资源大小两个优化要…

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

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

工厂示例

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Configuration; using System.Reflection;namespace Common.DALFactory {/// <summary>/// 数据层对象实例创建/// </summary>public partial class DbFacto…

手把手教你如何优化C语言程序

程序进行优化&#xff0c;通常是指优化程序代码或程序执行速度。优化代码和优化速度实际上是一个予盾的统一&#xff0c;一般是优化了代码的尺寸&#xff0c;就会带来执行时间的增加&#xff0c;如果优化了程序的执行速度&#xff0c;通常会带来代码增加的副作用&#xff0c;很…

posman使用教程

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

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

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

Mysql中DATE_SUB 使用方法结合查询一天内,一周内,一月内的信息实例讲解

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 在对数据查询或菜单时经常要对指定的时间或时间段进行查询,例如要查询一天内的信息,要查询一周内的信息,要查询一个月内的,南昌网站建设公…

mac电脑php中安装swoole扩展件

1.首先更新php版本&#xff0c;如果已经是最新的请忽略&#xff0c; &#xff08;1&#xff09;查看是否安装php brew search php &#xff08;2&#xff09;安装最新版本php brew install php 2.查看是否安装openssl&#xff0c;安装了请忽略 &#xff08;1&#xff09;查看…

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

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

Java练习 SDUT-1586_计算组合数

计算组合数 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 计算组合数。C(n,m),表示从n个数中选择m个的组合数。 计算公式如下&#xff1a; 若&#xff1a;m0&#xff0c;C(n,m)1 否则&#xff0c; 若 n1&#xff0c;C(n,m)1 否则&#xff0c;若mn&#xf…

mysql日期时间操作函数详解

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 win7可以设定每周从哪一天开始&#xff0c;win2003等不能方便的修改。有的是周日开始&#xff0c;有的是周一开始。而工作中有的时候每周…

对C语言进行调试的最好方法是什么?

要了解调试程序的最好方法&#xff0c;首先要分析一下调试过程的三个要素&#xff1a;应该用什么工具调试一个程序?用什么办法才能找出程序中的错误?怎样才能从一开始就避免错误?应该用什么工具调试一个程序?有经验的程序员会使用许多工具来帮助调试程序&#xff0c;包括一…

如何赋值hook定义的变量

1、定义变量 const { tableProps, mutate} useRequest(async (params {}) > {const { success, data, total } await Api.getUserAccountApi({page: params.current || 1,...searchValue,});return {list: success ? data : [],total: success ? total : 0,};},{pagin…

java中的sleep()和wait()的区别

对于sleep()方法&#xff0c;我们首先要知道该方法是属于Thread类中的。而wait()方法&#xff0c;则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间&#xff0c;让出cpu该其他线程&#xff0c;但是他的监控状态依然保持者&#xff0c;当指定的时间到了又会自动恢…

Webpack4干货分享(二),使用loader处理scss,图片以及转换JS

转载请注明出处&#xff1a; 葡萄城官网 &#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 原文出处&#xff1a; https://wanago.io/2018/07/16/webpack-4-course-part-two-webpack-4-course-part-two-loaders/今天继续我们的Webpack 4…

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

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

重写laravel的request的校验器

protected function failedValidation(Validator $validator) {$error $validator->errors()->all();throw new HttpResponseException(response()->json([data>[],code>500,msg>$error[0]], 500)); }