1. 程式人生 > >15行代碼讓蘋果設備崩潰,iOS 12也無法幸免

15行代碼讓蘋果設備崩潰,iOS 12也無法幸免

發送 項目實戰 過濾器 示例 也會 gem 學習編程 ace 元素

國外安全研究人員 Sabri Haddouche 發現了一個只需幾行代碼就可以讓 iPhone 崩潰並重啟的方法。

Sabri Haddouche 在 GitHub 上發布了一個示例網頁,只有 15 行代碼,如果在 iPhone 或 iPad 上訪問這個頁面,就會崩潰並重啟。在 macOS 上使用 Safari 打開該頁面也會出現瀏覽器掛起,無法動彈。

這段代碼利用了 iOS Web 渲染引擎 WebKit 中的一個漏洞。Haddouche 解釋說,在 CSS 過濾器屬性中嵌套大量元素(如<div>),就會耗盡設備的資源,並導致內核崩潰,然後關閉並重新啟動操作系統。

Haddouche 說,“任何在 iOS 上渲染 HTML 的應用程序都會受到影響”。他警告說,任何人都可以通過 Facebook 或 Twitter 上向你發送鏈接,或者通過電子郵件發送鏈接,如果你打開了這些連接或者訪問了任何包含這段代碼的網頁,就會中招。

下面是 Haddouche 的推文截圖:

技術分享圖片

他在推文中給出了網頁鏈接和 GitHub 代碼鏈接,並事先給出警告,如果點了那個網頁鏈接後果自負。

經安全公司 Malwarebytes 的證實,最新的 iOS 12 測試版在單擊這個鏈接時也會發生掛起。

即使有些“幸運”的設備不會發生崩潰,也會重新啟動用戶界面。

好在這個***雖然令人討厭,但它不能用來運行惡意代碼,也就是說無法利用它來運行惡意軟件,也無法通過這種方式來盜取數據。但目前沒有簡單的方法可以防止***發生。只要單擊鏈接或打開 HTML 電子郵件,這段代碼就會讓設備崩潰。

Haddouche 向蘋果公司報告了這個漏洞,蘋果公司表示正在調查中,還沒有發言人就此事發表評論。

這裏給出帶有這段代碼的網頁鏈接,有好奇心的人在單擊鏈接之前請慎重考慮:https://t.co/4Ql8uDYvY3。

下面是這段代碼的 GitHub 鏈接:

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

打開這個 GitHub 頁面,可以看到代碼如下:

技術分享圖片

上面紅色部分是一張經過 base64 編碼的圖片,下面是很多<div>標簽。正如 Haddouche 所說,就是利用了在過濾器屬性中嵌入大量 HTML 元素標簽來消耗設備的資源,從而達到***的目的。

這裏推薦一下我的前端學習交流群:731771211,裏面都是學習前端的,如果你想制作酷炫的網頁,想學習編程。從最基礎的HTML+CSS+JS【炫酷特效,遊戲,插件封裝,設計模式】到移動端HTML5的項目實戰的學習資料都有整理,送給每一位前端小夥伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴歡迎加入。

點擊:加入

15行代碼讓蘋果設備崩潰,iOS 12也無法幸免