[Pentest] 使用 Google Hacking 搜集待測網站資訊與可能的漏洞
今天打算來研究一下 Google Hacking,
從滲透測試用的網站資訊這裡找了 demo.testfire.net 這個測試網站來打打看~
以完整度來說,Google Hacking Database (GHDB) 應該是放了最完整的 Google Hacking 技巧,
不過量實在太大了,不太可能照著上面一個個的做…
決定還是先照著網站滲透測試實務入門這本書的例子來試試看~
首先用 site:demo.testfire.net filetype:doc 來找找看網站上的文件檔,
沒有什麼收穫,將類型換成 docx, xls, xlsx, ppt, pptx 也都一樣,
用 pdf 有找到一個,但單從檔名與內容,看不出來這個檔案是不是公開可以取得的:
接著試 site:demo.testfire.net inurl:login.js 沒有找到東西,
倒是用 site:demo.testfire.net inurl:login 找到兩筆:
第一筆的話就是一個登入的頁面,這是一個可以攻擊的入口~
第二筆的話就很有趣,從檔名 login.aspx.cs%00.txt 來看,
它很有可能是 login.aspx 用 C# 寫的原始碼,被留在網站上面,
這導致 login.aspx.cs 這個 C# 程式的內容被暴露出來了~
雖然這個文字檔可能並不是最新的 login.aspx.cs 的內容,
但它至少應該是某個舊版本的 login.aspx.cs,洩露的資訊很有參考價值~
洩露的程式碼有什麼價值呢?
可能可以看到帳號、密碼、資料庫的資料表名稱、欄位、驗證邏輯等等,以及可能的漏洞~
舉例來說,我們從上面的程式碼,就可以注意到它的 SELECT From users 的 SQL 語法,
是用串接的,因此肯定有 SQL injection 的問題…
像我在登入頁面帳號密碼都打 1’,就出現了 SQL injection 標準的反應:
再來試一下有名的 site:demo.testfire.net intitle:”index of” 搜尋,
看看有沒有允許目錄直接瀏覽的功能… 沒有成功,
但想起來之前在 FTP 上有看到類似 “Go to Parent Directory” 類的字眼,
想說也可以搜尋 “parent directory” 瞧瞧,結果出現了兩筆:
第一筆的 /bank/ 這邊,直接將目錄內容顯示出來了,表示權限沒有設定好,
試著點了所有的檔案和目錄,沒有得到什麼資訊,
但這種目錄列表沒關閉的狀況還是蠻危險的:
第二筆 /pr/ 的就慘多了~
看起來 pr 應該是 Press Release 之類的新聞稿件,理應是公開的資料,
但因為有目錄列表的關係,連還在草稿中的 Draft.rtf 也被列出來,
可能裡面含的資訊不應該被公開的,也會被看到:
接著試了下面幾組,都沒找到東西:
site:demo.testfire.net inurl:admin
site:demo.testfire.net intext:”ole db”
site:demo.testfire.net inurl:”content=personal”
site:demo.testfire.net inurl:phpsysinfo
下面這幾組應該是不用試,因為從前面 SQL 錯誤訊息與 aspx (ASP .NET) 來看,
這台 web server 應該是 Windows 系統,所以 Linux 相關的檔案應該不太可能有:
site:demo.testfire.net .sh_history
site:demo.testfire.net .bash_history
site:demo.testfire.net peple.lst
site:demo.testfire.net etc/shadow
site:demo.testfire.net master.passwd
site:demo.testfire.net htpasswd
下面這兩個是看網站有沒有 FrontPage 的漏洞,沒有發現:
site:demo.testfire.net inurl:service.pwd “# -FrontPage-“
site:demo.testfire.net inurl:_vti_cnf
下面幾個是看看能不能直接繞過程式,直接存取資料庫,但也沒有成功:
site:demo.testfire.net mappath
site:demo.testfire.net filetype:inc conn
site:demo.testfire.net filetype:mdb
從上面的測試中,我們至少找到了一個草稿中的文件,
還拿到了其中一個 ASP.NET 程式的原始碼,從中看出來它有 SQL Injection 的問題,
這已經可以允許我們利用 SQL Injection 使自己獲得登入的權限,
可見 Google Hacking 的強大~
附註:Google Hacking for Penetration Testers 這個投影片,
也講了很多 Google Hacking 的技術,值得一看~