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