微軟edge內存密碼事件延伸:獲取你密碼的方式遠比你想象的簡單

就在前天(5月6日),微軟 Edge 瀏覽器 被安全研究員 L1v1ng0ffTh3L4N 測試發現:啓動後,瀏覽器會把已保存的密碼全部加載到內存中

需要特別說明的是,安全員吐槽的重點並不是“內存中保存明文密碼”這件事本身,而是 無論你是否使用這些密碼,Edge 都會把它們一次性全部加載到內存中

感興趣的同學可以使用以下工具自行驗證(github#com/L1v1ng0ffTh3L4N/EdgeSavedPasswordsDumper)

打開 Edge,然後運行 EdgeSavedPasswordsDumper.exe(無需管理員權限)

立刻就能看到保存在 Edge 中的所有明文密碼

Edge內存中加載了全部密碼

事實上,作爲一名近戰法師,獲取你的密碼遠比你想象的簡單

下面分享 3個普通人也能輕鬆掌握、甚至可能受益終生的方法

1、瀏覽器自動填充的妙用

正常情況下,很多瀏覽器在查看密碼管理列表時,需要輸入 PIN 碼或進行生物識別驗證,如下圖所示

而實際上,進入網站,你只需要按 F12 打開開發者工具,找到密碼輸入框,將其類型從 password 改爲 text,頁面就會直接顯示出明文密碼。

2、DUMP內存獲取密碼

對於一般程序而言,內存安全性往往不會做特殊處理。在這種情況下,通過 Dump 內存就可以在極短時間內獲取密碼

以語雀應用爲例,它有一個“本地密碼”功能,開啓後其他人無法查看內容。

但你不需要任何額外工具,不管是否重啓過電腦,兩步就能獲得密碼

1、打開語雀,從任務管理器中dump出其內存

dum出內存(上下三個gif要連着一起看)

2、用記事本打開轉存文件,搜索Ctrl + Alt + Space,其後面不遠處就是密碼明文

搜索密碼臨近位置特徵信息(上下三個gif要連着一起看)

把密碼拿去驗證下,順利解開

驗證密碼(上下三個gif要連着一起看)

你可能會問:這是不是運氣好,恰好碰到語雀在開啓時直接把密碼丟進內存?

其實,應用程序總歸要驗證密碼對不對——這就只是一個“捕捉時機”的問題。

再進一步想:如果輸入一個錯誤的密碼,能不能誘使程序把正確的密碼加載到內存中(因爲程序需要拿正確密碼來做比對)?

那如果程序在內存中比對的是加密內容(比如密碼的哈希值)呢?思路都是相通的

3、善於觀察,利用BUG

程序開發完成後,測試重點通常放在覈心功能上,次要功能因爲時間、精力有限,往往測試得不夠仔細。而這些地方,就可能存在可以利用的漏洞

舉個例子,火狐瀏覽器的開發組織Mozilla,旗下的郵箱應用Thunderbird,當你被要求輸入密碼才能查看郵箱時,只需連續按兩次“取消”或關閉按鈕,就能直接進入郵箱

測試版本 148.0.1(當前最新版)

當然,你可能很難再找到其他存在同樣問題的程序,但思路是通用的

比如對於類似帶有本地密碼保護的程序,可能的突破口還有:傳入參數繞過啓動界面、使用 CE 定位密碼比對函數並直接修改返回值等

寫在最後

微軟對開題問題的回應是“Edge 在啓動時以明文將全部密碼加載到內存是設計使然,並非用戶懷疑的 Bug 導致,其目的是加快終端用戶的登錄和認證流程”

但不管微軟怎麼說,這個問題遲早得改

因爲利用門檻越低,模仿的門檻就越低——下一步,就是各種木馬蜂擁而至。到那時,微軟不想改也得改。就像當年的 Steam,不也是被欺詐問題逼到最後,才上了七天交易保護嗎?

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com