15行程式碼讓蘋果裝置崩潰,最新的iOS 12也無法倖免
安全研究人員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向蘋果公司報告了這個漏洞,蘋果公司表示正在調查中,還沒有發言人就此事發表評論。
這裡給出帶有這段程式碼的網頁連結,有好奇心的人在單擊連結之前請慎重考慮:ofollow,noindex" target="_blank">https://t.co/4Ql8uDYvY3 。
下面是這段程式碼的GitHub連結:https://gist.github.com/pwnsdx/ce64de2760996a6c432f06d612e33aea
開啟這個GitHub頁面,可以看到程式碼如下:
上面紅色部分是一張經過base64編碼的圖片,下面是很多<div>標籤。正如Haddouche所說,就是利用了在過濾器屬性中嵌入大量HTML元素標籤來消耗裝置的資源,從而達到攻擊的目的。
感謝覃雲對本文的審校。