研究員Rafay Baloch昨天披露了漏洞的細節,他曾在今年3月新加坡舉行的Black Hat Asia做過關于地址欄欺騙的演講。
漏洞原理
Baloch在個人網站中說,出現漏洞的主要原因是Chrome和Android版本的Firefox瀏覽器對某些Unicode字符的渲染不得當。阿拉伯語和希伯來語中會有一些字符是會從右到左顯示的,比如“|”。當包含這種Unicode字符的URL和IP地址合在一起時,瀏覽器就會把URL從右到左顯示。
舉個例子,某個網址邏輯上的順序是“127.0.0.1/|/http://example.com/”,但是瀏覽器會在地址欄中把網址顯示成“http://example.com/|/127.0.0.1”。
經過翻轉的網址IP地址部分其實是很容易隱藏的,尤其是在移動設備上,只要用一個比較長的URL(google.com/fakepath/fakepath/fakepath/… /127.0.0.1)就行了。如果要想網址看起來更真實一點,還可以弄個SSL證書。
漏洞重現
Chrome
(小編使用了PC端的Chrome訪問PoC網站,沒有成功,在手機端成功。)
1) 訪問鏈接http://182.176.65.7/%EF%B9%B0/http://google.com/test
2) 應該能注意到,瀏覽器顯示的不是google的內容,但是網址卻是http://google.com/test/182.176.65.7
Android版Firefox(CVE-2016-5267)
Firefox的漏洞與Chrome相似,不過它不需要IP地址觸發漏洞,只需要阿拉伯RTL字符:
http:// . /google.com/test/test/test
當你點擊鏈接時,訪問的是 . ,但地址欄卻指向google.com。
廠商修復
Mozilla稱,漏洞只存在于Android版本的Firefox瀏覽器,桌面版本不受影響,并且在8月2日的更新中已經修復了漏洞。基金會也為此向Baloch獎勵了1000美元。
而Google表示會在9月的Chrome更新中修復漏洞。
其他幾款瀏覽器也存在漏洞,但由于廠商尚未修復漏洞,因此作者還不能透露相關細節。
*參考來源:Threatpost&RafayHackingArticles,FB小編Sphinx編譯,轉載請注明來自FreeBuf.COM