“res://”協(xié)議(漏洞CVE-2015-2413)
“res://”協(xié)議是IE瀏覽器的一個內部協(xié)議,該協(xié)議允許網(wǎng)頁直接加載本地文件資源。與此同時,IE瀏覽器還可以將“res://URLs”這樣的資源地址視為特殊的資源引用。
微軟公司允許普通的HTTP網(wǎng)頁使用“res://URLs”來加載資源,因為IE或Edge瀏覽器中的部分功能需要使用這份協(xié)議。

圖片4:檢測腳本所創(chuàng)建的圖片文件是否加載成功
Iframe中的“res://”變種(此漏洞未修復)
受影響的操作系統(tǒng):Windows 7和Windows 10
瀏覽器:Internet Explorer 10、11;Microsoft Edge (38.14393.0.0);Microsoft EdgeHTML (14.14393)。
請注意:對Microsoft Edge瀏覽器而言,指紋識別技術只能在“Windows”和
“Program Files”這兩個文件夾下起作用,因為AppContainer不允許程序訪問系統(tǒng)的其他部分。

圖片5:通過網(wǎng)頁來確定主機“system32”文件夾下是否存在calc.exe(計算器)
漏洞利用工具是如何使用該技術的?
我們對Neutrino EK過濾器的運行機制進行了研究,具體內容請查看這篇文章:《 Neutrino EK:Flash中的指紋識別技術 》

圖片6:通過iframe來檢測本地文件
廣大用戶們應該怎么做?
在這里,我們給大家提供一個比較好的緩解方案。為了解決目前存在的問題,用戶應該只允許IE瀏覽器去加載類似mshtml.dll和ieframe.dll這樣的只有IE瀏覽器會使用的資源文件,所有調用其他資源文件的操作行為都應該被阻止。
換句話說,我們應該只允許iexplore.exe(以及其他需要使用Web瀏覽器進行操作的程序)加載Web瀏覽器引擎真正需要使用的那些資源文件。除了這些文件之外,其余的任何文件都不應該允許加載。在某些IE內部頁面/對話框,或者某些舊版本的瀏覽器工具欄中使用res資源調用協(xié)議才是該協(xié)議合理的使用方式。除此之外,DevTools開發(fā)者工具(F12)同樣需要使用這個協(xié)議。

圖片7:Microsoft Edge瀏覽器中的資源調用(res://)
某些需要使用“res://”協(xié)議的舊版本瀏覽器工具欄可能會因此而無法正常工作,但是我們可以將其需要使用的DLL文件加入白名單,這樣就可以暫時讓其正常工作了。至于如何徹底修復這一問題,就交給各位程序員去解決吧。
總結
雖然微軟公司此前已經表示,這些信息泄漏漏洞已經被修復了。但是就目前的情況來看,這些漏洞似乎并沒有徹底被修復。之所以會出現(xiàn)這樣的情況,很有可能是由于瀏覽器內核中存在的問題沒有得到根本性的解決,因為一旦對內核進行了大規(guī)模改動,那么將有可能引起各種兼容性方面的問題。
致謝
在這里,我要特別感謝一下Manuel Caballero( @magicmac2000 ),感謝他一直鼓勵我深入去研究這篇文章中所提到的安全問題。除此之外,我還要感謝Eric Lawrence( @ericlaw )為這篇文章所提供的幫助和貢獻。
本文由 安全客 原創(chuàng)發(fā)布,如需轉載請注明來源及本文地址。
本文地址:http://bobao.#/learning/detail/2987.html