瀏覽器的地址欄,是通往神秘賽博世界的一道門。
打開門,也許是你早已心儀已久的一家購物網站,也可能是一些你無法預料的場景:
或是閃著紅色小燈的發(fā)廊線上版
或是各色骰子在飛舞旋轉,向你招手
或是一個簡單的拒絕:404
你恍若闖入了一個神奇的大不雅觀園,不知道接下來的是一個人,還是一條狗,或者兩者都是。
這絕不是一次你想要的驚險刺激的冒險,你以為這是小伴侶突然翻了一次墻么?
賽博世界,我想要知道我在哪,我去哪。
騰訊玄武實驗室技術專家徐少培說:“Google曾公開體現在現代瀏覽器中,地址欄是唯一可靠的指示器?!?/p>
這句話應該如何理解?通俗的來說就是,如果地址欄上出現了安適問題,后續(xù)所拜候的Web頁面,可信任的體系將全部崩塌。
雷鋒網決定,先上個數據震撼一下你。
上周,Chrome發(fā)布了最新的版本,在安適漏洞傍邊,其中有16個漏洞由外部人員提交。在這16個漏洞傍邊,中高危漏洞占了12個,獲得了谷歌的漏洞獎勵。在這12個漏洞傍邊,有3個漏洞是地址欄上的漏洞,也就是說,Chrome瀏覽器作為目前業(yè)界公認的最安適的瀏覽器,其中地址欄上的安適漏洞占比四分之一。
對瀏覽器廠商而言,不但要消除軟件中的緩沖區(qū)溢出,最大的安適挑戰(zhàn)之一是如何幫手用戶在上網時做出正確和安適的決策。
因此,瀏覽器廠商絞盡腦汁。
第一個指示燈:安適指示符
很久以前,瀏覽器廠商搞出了一個安適指示符,就像是一枚路標,告訴你前方是一片坦途還是沼澤叢林。
安適指示符琳瑯滿目。你可能在地址欄看到的是一把綠色的小鎖,也可能是把灰色的大鎖,或是一個“地球”。
HTTP 和 HTTPS 又差別,一邊是白色符號,而別的一邊可能是綠色符號。差別的符號究竟代表什么?這些符號背后有何深意?
2015年,谷歌曾就此采訪過1329人,尷尬的是,大部分人對于HTTPS這個指示符略有了解,看到有一個鎖,就知道可能是加密或者是安適的問題。對于HTTP這個標識符,一些專家可能都不太明白是什么意思。
看到這里你應該高興,看,你又比專家多懂了一點點。
當你點開這些各種各樣的小符號,其實又打開了一片新天地:
內有更多對當前頁面權限的設置,以及這個網站是否安適等選項。
第二個指示燈:URL
我們已經了解到在地址欄中安適指示符如何來標識當前網站的安適狀態(tài),它是一枚路標,而統(tǒng)一資源定位符(URL)才是地址欄中的真正主角,它告訴你在哪和你要去哪,相當于一張有定位的地圖。
基本URL包羅模式(或稱協議)、辦事器名稱(或IP地址)、路徑和文件名,如“協議://授權/路徑?查詢”。完整的、帶有授權部分的普通統(tǒng)一資源標識表記標幟符語法如下:協議://用戶名:密碼@子域名.域名.頂級域名:端標語/目錄/文件名.文件后綴?參數=值#標識表記標幟。
所謂協議,是有很多的:
http——超文本傳輸協議資源
https——用安適套接字層傳送的超文本傳輸協議
ftp——文件傳輸協議
mailto——電子郵件地址
ldap——輕型目錄拜候協議搜索
file——本地電腦或網上分享的文件
news——Usenet新聞組
gopher——Gopher協議
telnet——Telnet協議
那么,這個URL 有哪些層面可以被黑客改造,導致你去了一個意想不到的地方?也許,我們可以反推一下,不至于著了道。
作為一個連續(xù)三次挖掘了chrome 瀏覽器地址欄漏洞的老司機,徐少培對攻擊者可能偽造URL 的手段了如指掌:
1.這些協議在瀏覽器處理的時候都有可能出現問題。
2.多級域名時,瀏覽器地址可視空間很小,有可能把主機覆蓋掉,而顯示前面?zhèn)窝b的多級域名主機。
3.對于端口,目前默認的端口是空,或者是無符號16位。如果超過65535,好比說是10000的瀏覽器端口,如果是非數字ABCD端口會怎么處理呢?
4.Pathname,就是后面的目錄,有可能會偽造成主機。
5.#號后,瀏覽器格式在字符串時可能會出現問題,
6.用戶名和密碼部分有可能會偽造成主機。
在了解完URL的各個參數后,徐少培給出了URL Spoof漏洞的詳細的定義和說明。地址欄欺騙漏洞,偽造了Web最基本的安適界限,起源(orgin)。
“URL中的任何一個部分,都有可能成為觸發(fā)地址欄欺騙(URL Spoof)漏洞的攻擊向量。”
徐少培說。
好比,上述URL由一個四級域名構成,Pathname的路徑偽造成了一個類域名的字符串。