駭客眼中的Google
對於大多數上網的人來說,Google 提供搜尋方便大家找到自己想要的資訊
由於Google 精準的搜尋,與計算過的結果呈現,
幫助我們在網際網路上,針對特定資訊,進行分析與查詢
另一方面,這樣的搜尋也會被有心人士或是駭客利用
因此有所謂的 “Google Hacking Database”的產生
Google Hacking database
https://www.exploit-db.com/google-hacking-database/
可以參考這個網站。上面列有各式各樣如何運用 Google搜尋來找漏洞的方式。
可以透過Google尋找那些漏洞呢? 其實很廣泛,如下圖所示:
舉例來說:
1. 搜尋 login 網頁
intitle:”index” intext:”Login to the Administrative Interface”
透過這樣的搜尋就可以找到該網站有系統管理的登入頁面
2. 搜尋特定 Apache Web server
intitle:”Apache Status” “Apache Server Status for”
駭客利用這樣的方式蒐尋相關 Apache Web Server,再針對Apache 已知的弱點進行攻擊
3. 使用者敏感資訊
inurl:admin inurl:userlist
這樣的搜尋結果,可能會列出系統管理者與指用者資訊。
網站管理者的因應
既然Google 這麼強大,可以搜尋到的資訊如此廣泛,
網站系統管理者要如何因應呢? 我們希望網站有一定的曝光度,
但是同時又不希望Google 搜尋到太過敏感性的資料,這體提出三個建議:
1. 設定 Robots.txt
明確定告知哪些目錄不掃描,例如:
User-agent: *
Disallow: /search
Disallow: /groups
但是為了避免該設定變成此地無銀三百兩,
實際的 path 可以設定為只有內部人知道的複雜網址
/Search_1234123ILF
/Group_123klzcfLLASDF
2. Web Server 設定不回傳Server資訊
多半的網站 http response 都會回傳下列資訊,
特別是 “Server”,會說明該 Server為 IIS or Apache 版本,
這樣的設定在上線時,建議取消不回傳
HTTP/1.1 200 OK
Server: Apache/1.3.23
Content-Length: 156
Content-Type: text/HTML
3. Firewall
Firewall 可以針對 HTTP request/response 的內容做檢查,
若發現有可疑的入侵行為便會通知,
例如:短時間有大量的 Login try and Error
例如:偵測到 SQL injection 的特徵 or 1 = 1 —
例如:偵測到異常的 JavaScript 輸入,<JavaScript>alert(‘test’)</JavaScript>
許多的工具都是一體兩面,Google 也是
如何善用這些工具,並且更周延的保護網站的安全
除了開發的過程需要注意,
網站上線之後也不須不斷的從內部(更新patch/程式)、從外部(google)不斷的檢視
不妨用google 搜尋自己的網站看看,是否有敏感性的資訊因此外漏,
也能夠看到原本沒有注意到的地方。