說起Google,可謂無人不知無人不曉。作為世界第一的搜尋引擎,其強大的搜尋功能,可以讓你在瞬間找到你想要的一切。不過對於普通的電腦使用者而言,Google是一個強大的搜尋引擎;而對於駭客而言,則可能是一款絕佳的駭客工具。正因為google的檢索能力強大,駭客可以構造特殊的關鍵字,使用Google搜尋互連網上的相關隱私資訊。通過Google,駭客甚至可以在幾秒種內黑掉一個網站。這種利用Google搜尋相關資訊並進行入侵的過程就叫做Google Hack。
搜尋也是一門藝術
在我們平時使用搜尋引擎的過程中,通常是將需要搜尋的關鍵字輸入搜尋引擎,然後就開始了漫長的資訊提取過程。其實Google對於搜尋的關鍵字提供了多種文法,合理使用這些文法,將使我們得到的搜尋結果更加精確。當然,Google允許使用者使用這些文法的目的是為了獲得更加精確的結果,但是駭客卻可以利用這些文法構造出特殊的關鍵字,使搜尋的結果中絕大部分都是存在漏洞的網站。
下面我們先來看看Google的部分文法:
intitle:搜尋網頁標題中包含有特定字元的網頁。例如輸入“intitle: cbi”,這樣網頁標題中帶有cbi的網頁都會被搜尋出來。
inurl:搜尋包含有特定字元的URL。例如輸入“inurl:cbi”,則可以找到帶有cbi字元的URL。
intext:搜尋網頁本文內容中的指定字元,例如輸入“intext:cbi”。這個文法類似我們平時在某些網站中使用的“文章內容搜尋”功能。
Filetype:搜尋指定類型的檔案。例如輸入“filetype:cbi”,將返回所有以cbi結尾的檔案URL。
Site:找到與指定網站有聯絡的URL。例如輸入“Site:family.chinaok.com”。所有和這個網站有聯絡的URL都會被顯示。
這些就是Google的常用文法,也是Google Hack的必用文法。雖然這隻是Google文法中很小的部分,但是合理使用這些文法將產生意想不到的效果。
文法在Google Hack中的作用
瞭解了Google的基本文法後,我們來看一下駭客是如何使用這些文法進行Google Hack的,這些文法在入侵的過程中又會起到怎樣的作用呢。
intitle
intitle文法通常被用來搜尋網站的後台、特殊頁面和檔案,通過在Google中搜尋“intitle:登入”、“intitle:管理”就可以找到很多網站的後台登入頁面。此外,intitle文法還可以被用在搜尋檔案上,例如搜尋“intitle:"indexof"etc/shadow”就可以找到Linux中因為配置不合理而泄露出來的使用者密碼檔案。
inurl
Google Hack中,inurl發揮的作用的最大,主要可以分為以下兩個方面:尋找網站後台登入地址,搜尋特殊URL。
尋找網站後台登入地址:和intitle不同的是,inurl可以指定URL中的關鍵字,我們都知道網站的後台URL都是類似login.asp、admin.asp為結尾的,那麼我們只要以“inurl:login.asp”、“inurl:admin.asp”為關鍵字進行搜尋,同樣可以找到很多網站的後台。此外,我們還可以搜尋一下網站的資料庫地址,以“inurl:data”、“inurl:db”為關鍵字進行搜尋即可。
1.尋找網站的後台登入頁面
搜尋特殊URL:通過inurl文法搜尋特殊URL,我們可以找到很多網站程式的漏洞,例如最早IIS中的Uncode目錄遍曆漏洞,我們可以構造“inurl:/winnt/system32/cmd exe?/c+dir”這樣的關鍵字進行搜尋,不過目前要搜尋到存在這種古董漏洞的網站是比較困難的。再比如前段日子很火的上傳漏洞,我們使用““inurl:upload.asp”或“inurl:upload_soft.asp”即可找到很多上傳頁面,此時再用工具進行木馬上傳就可以完成入侵。
intext
intext的作用是搜尋網頁中的指定字元,這貌似在Google Hack中沒有什麼作用,不過在以“intext:to parent directory”為關鍵字進行搜尋後,我們會很驚奇的發現,無數網站的目錄暴露在我們眼前。我們可以在其中隨意切換目錄,瀏覽檔案,就像擁有了一個簡單的Webshell。形成這種現象的原因是由於IIS的配置疏忽。同樣,中文IIS配置疏忽也可能出現類似的漏洞,我們用“intext:轉到父目錄”就可以找到很多有漏洞的中文網站。
2.隨意瀏覽網站中的檔案
Filetype
Filetype的作用是搜尋指定檔案。假如我們要搜尋網站的資料庫檔案,那麼可以以“filetype:mdb”為關鍵字進行搜尋,很快就可以下載到不少網站的資料庫檔案。當然,Filetype文法的作用不僅於此,在和其他文法配合使用的時候更能顯示出其強大作用。
Site
駭客使用Site,通常都是做入侵前的資訊刺探。Site文法可以顯示所有和目標網站有聯絡的頁面,從中或多或少存在一些關於目標網站的資料,這對於駭客而言就是入侵的突破口,是關於目標網站的一份詳盡的報告。
文法組合,威力加倍
雖然上文中介紹的這幾個文法能各自完成入侵中的一些步驟,但是只使用一個文法進行入侵,其效率是很低下的。Google Hack的威力在於能將多個文法組合起來,這樣就可以快速地找到我們需要的東西。下面我們來類比駭客是如何使用Google文法組合來入侵一個網站的。
資訊刺探
駭客想入侵一個網站,通常第一步都是對目標網站進行資訊刺探。這時可以使用“Site:目標網站”來擷取相關網頁,從中提取有用的資料。
3.搜尋相關頁面
下載網站的資料庫
搜尋“Site:目標網站 Filetype:mdb”就可以尋找目標網站的資料庫,其中的Site文法限定搜尋範圍,Filetype決定搜尋目標。用這種方法有一個缺點,就是下載到資料庫的成功率較低。在這裡我們還可以採用另一種文法組合,前提是目標網站存在IIS配置缺陷,即可以隨意瀏覽網站資料夾,我們搜尋“Site:目標網站 intext:to parent directory”來確定其是否存在此漏洞。在確定漏洞存在後,可以使用“Site:目標網站 intext:to parent directory+intext.mdb”進行資料庫的搜尋。
4.找到網站資料庫
登入後台管理
下載到資料庫後,我們就可以從中找到網站的系統管理員帳戶和密碼,並登入網站的後台。對於網站背景尋找,可以使用文法組合“Site:目標網站 intitle:管理”或者“Site:目標網站 inurl:login.asp”進行搜尋,當然我們可以在這裡進行聯想,以不同的字元進行搜尋,這樣就有很大的機率可以找到網站的後台管理地址。接下去駭客就可以在後台上傳Webshll,進一步提升許可權,在此不再闡述。
利用其他漏洞
如果下載資料庫不成功,我們還可以嘗試其他的入侵方法。例如尋找上傳漏洞,搜尋“Site:目標網站 inurl:upload.asp”。此外,我們還可以根據一些程式漏洞的特徵,定製出Google Hack的語句。
Google Hack可以靈活地組合法語,合理的文法組合將使入侵顯得易如反掌,再加入自己的搜尋字元,Google完全可以成為你獨一無二的駭客工具。
合理設定,防範Google Hack
5. 合理設定網站
Google Hack貌似無孔不入,實則無非是利用了我們配置網站時的疏忽。例如上文中搜尋“intext:to parent directory”即可找到很多可以瀏覽目錄檔案的網站,這都是由於沒有設定好網站許可權所造成的。在IIS中,設定使用者訪問網站許可權時有一個選項,叫做“瀏覽目錄”,如果你不小心選中了該項,那麼其結果就如上文所述,可以讓駭客肆意瀏覽你網站中的檔案。
這種漏洞的防範方法十分簡單,在設定使用者權限時不要選中“瀏覽目錄”選項即可。
6.不要選中該項
編寫robots.txt檔案
robot.txt是專門針對搜尋引擎機器人robot編寫的一個純文字檔案。我們可以在這個檔案中說明網站中不想被robot訪問的部分,這樣,我們網站的部分或全部內容就可以不被搜尋引擎收錄了,或者讓搜尋引擎只收錄指定的內容。因此我們可以利用robots.txt讓Google的機器人訪問不了我們網站上的重要檔案,Google Hack的威脅也就不存在了。
編寫的robots.txt檔案內容如下:
User-agent: *
Disallow: /data/
Disallow: /db/
其中“Disallow”參數後面的是禁止robot收錄部分的路徑,例如我們要讓robot禁止收錄網站目錄下的“data”檔案夾,只需要在Disallow參數後面加上“/data/”即可。如果想增加其他目錄,只需按此格式繼續添加。檔案編寫完成後將其上傳到網站的根目錄,就可以讓網站遠離Google Hack了