Chrome擴展可從網站竊取明文密碼
研究人員發現谷歌、Cloudflare等知名網站的網頁HTML源碼中都以明文形式保存密碼,惡意擴展可從中提取明文密碼。威斯康星大學麥迪遜分校研究人員在Chrome應用商店上傳了惡意擴展PoC,成功從網站源碼中竊取明文密碼。
問題產生的根源
由于Chrome擴展和網站元素之間缺乏安全邊界,瀏覽器擴展對網站源碼中的數據具有無限制的訪問權限,因此有機會從中提取任意內容。此外,Chrome瀏覽器擴展可能濫用DOM API直接提取用戶輸入的值,繞過網站使用的混淆技術來保護用戶敏感輸入。
谷歌Chrome引入的Manifest V3協議被許多瀏覽器采用,限制了API濫用,防止瀏覽器擴展提取遠程保存的代碼,防止使用eval來實現任意代碼執行。研究人員分析發現Manifest V3并未在擴展和web頁面之間引入安全邊界。
圖 擴展和網站之間的安全邊界
上傳PoC到Chrome擴展商店
為測試谷歌的Chrome擴展商店審查過程,研究人員創建了一個可以發起密碼竊取攻擊的Chrome擴展,并將該擴展上傳到平臺。該擴展的功能是一個基于GPT的助手,可以:
· 獲取用戶登錄頁面的HTML源碼;
· 濫用CSS選擇器來選擇目標輸入字段,使用.value函數提取用戶輸入;
· 通過元素替換使用不安全的密碼字段來替換基于JS的混淆字段;
圖 提取字段內的代碼(左)和執行元素替換(右)
該擴展并不包含明顯的惡意代碼,因此可以繞過靜態檢測,并且不會從外部源提取代碼,所以是支持Manifest V3的。因此,該擴展通過了審查,并被應用商店上架。
漏洞利用
隨后的實驗數據發現,前1萬個網站中有1100個在HTML DOM中明文保存了用戶密碼。其他7300個網站也易受到DOM API訪問和用戶數據直接提取攻擊。
圖 受影響的網站
一些知名網站缺乏安全保護的網站包括:
- gmail.com – HTML源碼中明文保存密碼
- cloudflare.com –HTML源碼中明文保存密碼
- facebook.com – 通過DOM API提取用戶輸入
- citibank.com –通過DOM API提取用戶輸入
- irs.gov – 網頁源碼中明文保存SSNs
- capitalone.com –網頁源碼中明文保存SSNs
- usenix.org –網頁源碼中明文保存SSNs
- amazon.com – 頁面源碼明文保存信用卡信息和郵政編碼
圖 Gmail和Facebook也受到用戶輸入提取攻擊影響
研究發現有190個擴展可以直接訪問密碼字段,并保存了字段的內容,表明有開發者可能已經利用了該安全漏洞。
廠商回應
Amazon稱,客戶安全非常重要,將采取措施對用戶輸入進行保護,輸入亞馬遜網站的用戶信息是安全的。此外,鼓勵瀏覽器和擴展開發者使用亞馬遜提供的服務采用安全最佳實踐來保護用戶數據。谷歌發言人稱將開始調查這一問題。但Chrome擴展的安全問答并不認為訪問密碼字段是安全問題。
論文下載地址:https://arxiv.org/abs/2308.16321
本文翻譯自:https://www.bleepingcomputer.com/news/security/chrome-extensions-can-steal-plaintext-passwords-from-websites/如若轉載,請注明原文地址