3.1 搜索引擎
3.1.1 Google Hacking
由于傳統的信息收集方法如端口掃描、目錄掃描等會在服務器上留下大量的日志痕跡,在某些情況下還可能被安全設備攔截,因此能否在不驚動目標服務器的情況下,對目標網站收集盡可能多的信息呢?Google Hacking,也叫Google Dorking,是一種利用谷歌搜索和其他搜索引擎來發現網站配置和計算機代碼中的安全漏洞的計算機黑客技術。
3.1.1.1 默認搜索
用戶在瀏覽器中的搜索即為默認搜索,搜索時瀏覽器會自動進行模糊匹配。對長短語或語句進行自動拆分,并形成小的關鍵詞進行模糊搜索。我們來看下面這樣一個例子:
滲透測試有哪些好用的教程推薦?
滲透測試教程
可以看出明顯第一個搜索語句顯得很啰唆,我們在擬定搜索語句的時候,盡量減少如“有哪些”“好用的”等無關緊要的詞匯。
3.1.1.2 通配符
谷歌搜索的通配符是“*”,我們可以使用通配符代替關鍵詞或短語中無法確定的字詞。下面就是使用通配符搜索的案例,可以看到搜索的結果中出現了自動化測試、軟件測試等結果。通配符的使用如圖3-1所示。

圖3-1 通配符的使用
3.1.1.3 邏輯非
如果想要排除某類搜索結果可以使用“-”,還是以上面的搜索關鍵詞為例,假如我們不想查看工具類相關的教程,可以直接使用邏輯非來減掉包含“工具”關鍵詞的相關結果:
滲透測試教程-工具
通過邏輯非關鍵詞搜索后,這樣結果中就不會再出現包含“工具”關鍵詞的結果了。
3.1.1.4 常用關鍵詞
除了上述的關鍵詞,在滲透測試中還會經常用到下面的關鍵詞。谷歌搜索常用關鍵詞及說明如表3-1所示。
表3-1 谷歌搜索常用關鍵詞及說明

3.1.1.5 實用案例演示
1.查找暴露在互聯網的后臺資產

因為很多管理員后臺的網頁標題經常出現“后臺登錄”的字樣,所以可以使用:
關鍵詞來查找網頁標題中包含“后臺登錄”關鍵詞的 Web 資產信息。又因為很多后臺系統的URL中經常出現“admin”“system”等字樣,所以還可以使用:

關鍵詞來查找URL資產中包含敏感后臺的資產信息。
2.搜索xxx.com的子域名信息
利用 site 關鍵詞可以指定查詢某個域名的資產情況,可以借助這個關鍵詞來查找對應域名的子域名信息。
3.搜索互聯網上的登錄入口
首先,我們借助intitle關鍵詞來查找百度暴露在互聯網上的登錄入口:

但是發現出現了很多“百度知道”“百度經驗”“百度百科”等無關緊要的干擾結果,為了減少這些搜索結果的干擾,我們可以使用上面學習的邏輯非關鍵詞來進行搜索:

這樣搜索出來的結果大多數就是百度暴露在互聯網上的登錄入口。互聯網登錄入口如圖3-2所示。

圖3-2 互聯網登錄入口
4.查找互聯網敏感文件
很多用戶喜歡將敏感信息放在Excel表格或PDF之類的文檔中,并且還將這些敏感文件上傳到了網上,雖然正常瀏覽無法直接打開這些資源,但是利用Google Hacking語法進行針對性的查找,能降低我們在信息收集時的難度。

通過上面這些案例,大家基本已經掌握Google Hacking 的一些技巧,不同語法的組合可以靈活滿足各種查詢需求,希望大家也不要止步于書上的知識點,課后可以多多對Google Hacking進行實操探索,以熟能生巧。