資訊洩漏,也稱為資訊披露,是指網站無意中向使用者洩露敏感資訊。 網站可能會向潛在的攻擊者洩露各種資訊,包括:
資訊洩漏漏洞可以以無數種不同的方式出現,但這些漏洞可以大致歸類如下:
許多網站在/robots.txt
和/sitemap.xml
上提供檔案,以幫助爬蟲瀏覽他們的網站。 除其他外,這些檔案通常列出爬蟲應該跳過的特定目錄,因為它們可能包含敏感資訊。
攻擊者可以嘗試手動導航到/robots.txt
或/sitemap.xml
,看看有沒有有用得東西。
Web伺服器可以配置為自動列出沒有索引頁面的目錄的內容。 這可以透過使攻擊者能夠快速識別給定路徑上的資源,並直接分析和攻擊這些資源來幫助攻擊者。
目錄列表本身不一定是安全漏洞,如果網站也未能實施適當的訪問控制,就有可能讓攻擊者有機可乘。
在開發過程中,內聯HTML註釋有時會新增到標記中。 在將更改部署到網站之前,這些註釋通常會被刪除。 然而,評論有時會被遺忘、遺漏,甚至被故意留下。
偶爾,這些評論包含對攻擊者有用的資訊。 例如,他們可能會暗示隱藏目錄的存在或提供有關應用程式邏輯的線索。
這些訊息可能不小心告訴他們網站期待的資料格式、或者用了哪些工具和技術來建網站。
很多網站在開發時,為了找出問題所在,都會特地做一些錯誤訊息或日誌,裡面可能有很多網站運作的細節。但這種方便開發的做法,放到正式的網站上可能就會成為問題。
這些錯誤訊息有時候會露出:
session
資訊。而且,這些除錯訊息不只會直接顯示給用戶,有時候還會存到某個檔案裡。如果駭客可以看到這些檔案,他們就更容易知道如何攻擊這個網站。
基本上就是放你所有私人資料的地方,例如你的信箱、手機號碼、或是一些網站特有的API密鑰等等。當然,正常的情況下,你只能看到自己的資料,其他人是看不到的。但如果網站設計得不夠好,就可能出問題。
舉例來說,有些網站會根據網址後面的user參數來決定要顯示哪個用戶的資料。像是:
GET /user/personal-info?user=Ali
這樣就會顯示Ali的個人資料。大部分的網站會設計得很安全,不會讓你隨便改user參數就能看其他人的資料。但如果開發者疏忽了,有時候可能某些資料還是會被顯示出來。
雖然你進不了別人的帳號頁面,但你可能還是能看到別人的信箱,只要隨便改一下網址後面的user參數,這就很危險了。