15行のCSSコードがAppleデバイスをクラッシュさせる可能性があり、最新のiOS 12も例外ではない

15行のCSSコードがAppleデバイスをクラッシュさせる可能性があり、最新のiOS 12も例外ではない

たった15行のCSSでiPhoneがクラッシュする

Wire のセキュリティ研究者 Sabri Haddouche 氏は、特定の CSS と HTML を含む Web ページにアクセスするだけで iOS が再起動し、macOS がフリーズする可能性がある新しい攻撃を発見しました。 Windows および Linux ユーザーはこのバグの影響を受けません。

この攻撃は、-webkit-backdrop-filter CSS プロパティの脆弱性を悪用し、そのプロパティを持つネストされた div を使用することで、すべてのグラフィック リソースをすぐに消費し、オペレーティング システムをクラッシュまたはフリーズさせることができます。この攻撃では JavaScript を有効にする必要がないため、メールでも機能します。 macOS では、これは UI のフリーズとして現れます。 iOS では、これはデバイスの再起動として現れます。この攻撃は、WebKit レンダリング エンジンを使用している iOS のすべてのブラウザー、および macOS の Safari と Mail に影響します。

この攻撃につながるコードを見たい人のために、研究者はそれを GitHub ページで公開しています。

rawgit.com のリンクをクリックするときは注意してください。iOS がすぐにクラッシュしたり、Mac に問題が発生したりする可能性があります。

rawgit.com リンク:

https://www.bleepingcomputer.com/news/security/new-css-attack-restarts-an-iphone-or-freezes-a-mac/

コード GitHub:

https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea

この GitHub ページを開くと、次のようなコードが表示されます。

上の赤​​い部分は base64 でエンコードされた画像で、その下には多数の <div> タグがあります。 Haddouche 氏が述べたように、攻撃の目的は、フィルター属性に多数の HTML 要素タグを埋め込むことでデバイスのリソースを消費することです。

<<:  HTML チュートリアル: よく使われる HTML タグのコレクション (5)

>>:  MySQLでレコードを変更する場合、更新操作フィールド = フィールド + 文字列

推薦する

見落とされがちなMETAタグの特殊効果(ページ遷移効果)

Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...

JavaScript 組み込みの日付と時刻の書式設定のサンプル コード

1. 基礎知識(日付オブジェクトのメソッド) 😜 getFullYear() は年を表す4桁の数字を...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

Web フロントエンドのパフォーマンス最適化の詳細説明: リソースのマージと圧縮

2つの目的のためのリソースの結合と圧縮httpリクエストの数を減らす要求されたリソースのサイズを縮小...

Linux の高並列性とパフォーマンス最適化の落とし穴の紹介

目次序文Linux アプリケーション実行中に開いているファイルが多すぎる問題の分析と解決Linux ...

CentOS で Mysql を再起動するさまざまな方法 (推奨)

1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...

MySQLとRedisキャッシュ間の同期ソリューションについての簡単な説明

目次1. ソリューション 1 (UDF)デモケース2. ソリューション2(binlogの解析)キャナ...

jsはショッピングカートの加算と減算、価格計算機能を実現します

この記事では、ショッピングカートの増減と価格計算を実現するためのjsの具体的なコードを紹介します。具...

MySQL で重複時間を削除して時間差を計算する実装

目次必要:ドライブ:アイデア:成し遂げる:個人的には、実際の開発ではストアド プロシージャの使用はお...

Vue での ref の使用法とデモンストレーション

ref 定義:要素またはサブコンポーネントの参照情報を登録するために使用されます。参照情報は、親コン...

テーブルリストを破棄するには、標準のdl、dt、ddタグを使用します。

現在、ますます多くのフロントエンド開発者が、元のテーブル レイアウトを xHTML + CSS に置...

MySQL における主キーが 0 であることと主キーの自己選択制約の関係についての詳しい説明 (詳細)

序文この記事は主にMySQLの主キー0と主キー自己排除制約の関係を紹介し、皆さんの参考と学習のために...

Vueコンポーネントのルーティング強調表示問題の解決策

序文以前は、キャッシュを使用してルートを強調表示していました。すべてのルートをトラバースし、クリック...

Node.js のワーカー スレッドの詳細な理解

目次概要Node.js における CPU バウンド アプリケーションの歴史CPUを集中的に使用する操...

OpenLayers 3 のベクターマップソースの読み込みの問題を解決する

1. ベクターマップベクター グラフィックスは直線と曲線を使用してグラフィックスを表します。これらの...