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でレコードを変更する場合、更新操作フィールド = フィールド + 文字列

推薦する

CSSテキストシャドウの徐々にぼやける効果の実装

テキストシャドウテキストに影を追加します。テキストとテキスト装飾に複数のシャドウを追加することができ...

Linux で MySQL スケジュールタスクを実装する方法

前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...

Tomcat の構成と最適化ソリューションの詳細な説明

サービス.xml Server.xml 構成ファイルは、コンテナー全体を構成するために使用されます。...

JavaScript Canvas で三目並べゲームを実装

この記事では、JavaScript Canvasで三目並べゲームを実装するための具体的なコードを参考...

Nginx における accept lock の仕組みと実装の詳細な説明

序文nginx はマルチプロセス モデルを使用します。リクエストが届くと、システムはプロセスをロック...

Web コンテンツ ページを作成するための 9 つの実用的なヒント

コンテンツ1. 読者に留まる理由を与える。ウェブページを面白く魅力的なものにしましょう。しかし、まず...

Dockerコンテナでユーザーを切り替えるときに権限が不足する問題を解決する方法

Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...

行の高さと垂直方向の配置に関する包括的な理解

前の単語line-height、font-size、vertical-align は、インライン要素...

VMware に Linux システム (Redhat8) と仮想マシンのネットワーク構成をインストールする方法

目次1. VMwareをインストールする1.1 VMwareworkstationsをダウンロードし...

今日は、珍しいけれど役に立つJSテクニックをいくつか紹介します

1. 戻るボタンhistory.back() を使用してブラウザの「戻る」ボタンを作成します。 &l...

MySQLクエリプランでken_lenの値を計算する方法

key_lenの意味MySQL では、次に示すように、explain を使用して SQL ステートメ...

docker を使って sonarqube を構築する方法

目次1. Dockerをインストールする2. ソナーイメージをインストールする3. ソナーを使ってコ...

ウェブデザインを改善するための 8 つの CSS ツールを共有する

ウェブサイトのデザインを編集または変更する必要がある場合、CSS が重要な役割を果たします。 CSS...

JavaScript で簡単なモグラ叩きゲームを実装する

この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...