iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0

資訊洩漏,也稱為資訊披露,是指網站無意中向使用者洩露敏感資訊。 網站可能會向潛在的攻擊者洩露各種資訊,包括:

  • 有關其他使用者的資料,如使用者名稱或財務資訊
  • 敏感的商業或商業資料
  • 關於網站及其基礎設施的技術細節

資訊洩漏漏洞是如何產生的?

資訊洩漏漏洞可以以無數種不同的方式出現,但這些漏洞可以大致歸類如下:

  • 未刪除內部內容。 例如,標記中的開發人員註釋未刪除。
  • 不安全配置。 例如,未禁用除錯和診斷功能有時會為攻擊者提供有用的工具,幫助他們獲取敏感資訊。
  • 應用程式的設計行為有缺陷。 例如,如果網站在發生不同的錯誤狀態時返回不同的響應,這也允許攻擊者列舉敏感資料,例如有效的使用者憑證。

常見漏洞

網路爬蟲的檔案

許多網站在/robots.txt/sitemap.xml上提供檔案,以幫助爬蟲瀏覽他們的網站。 除其他外,這些檔案通常列出爬蟲應該跳過的特定目錄,因為它們可能包含敏感資訊。
攻擊者可以嘗試手動導航到/robots.txt/sitemap.xml,看看有沒有有用得東西。

目錄列表

Web伺服器可以配置為自動列出沒有索引頁面的目錄的內容。 這可以透過使攻擊者能夠快速識別給定路徑上的資源,並直接分析和攻擊這些資源來幫助攻擊者。
目錄列表本身不一定是安全漏洞,如果網站也未能實施適當的訪問控制,就有可能讓攻擊者有機可乘。

開發人員評論

在開發過程中,內聯HTML註釋有時會新增到標記中。 在將更改部署到網站之前,這些註釋通常會被刪除。 然而,評論有時會被遺忘、遺漏,甚至被故意留下。
偶爾,這些評論包含對攻擊者有用的資訊。 例如,他們可能會暗示隱藏目錄的存在或提供有關應用程式邏輯的線索。

錯誤訊息

這些訊息可能不小心告訴他們網站期待的資料格式、或者用了哪些工具和技術來建網站。

  • 錯誤訊息提供關鍵資訊:從這些錯誤中,駭客可能就知道要怎麼攻擊這個網站了。
  • 技術揭露:錯誤可能還會露出網站是用什麼模板、資料庫或伺服器來跑的,甚至知道是哪個版本。這樣一來,駭客就可以去查那版本有沒有什麼已知的弱點。
  • 開源框架:如果你的網站用的是開源框架,駭客甚至可以直接看你那框架的原始碼,想辦法找缺口。
  • 行為洞察:不一樣的錯誤訊息,也告訴駭客網站背後到底在做什麼,像是不小心透露可能有SQL注入的風險。

Lab time

除錯資料

很多網站在開發時,為了找出問題所在,都會特地做一些錯誤訊息或日誌,裡面可能有很多網站運作的細節。但這種方便開發的做法,放到正式的網站上可能就會成為問題。

這些錯誤訊息有時候會露出:

  • 用戶的資訊:例如登入時的session資訊。
  • 伺服器的資訊:像是伺服器的名稱、密碼這種。
  • 伺服器的檔案結構:例如哪些資料夾、檔案名稱等等。
  • 加密金鑰:這個就是用來確保資料傳輸安全的密鑰,如果被看到了,那資訊就可能被竊取。

而且,這些除錯訊息不只會直接顯示給用戶,有時候還會存到某個檔案裡。如果駭客可以看到這些檔案,他們就更容易知道如何攻擊這個網站。

Lab time

使用者帳戶頁面

基本上就是放你所有私人資料的地方,例如你的信箱、手機號碼、或是一些網站特有的API密鑰等等。當然,正常的情況下,你只能看到自己的資料,其他人是看不到的。但如果網站設計得不夠好,就可能出問題。

舉例來說,有些網站會根據網址後面的user參數來決定要顯示哪個用戶的資料。像是:

GET /user/personal-info?user=Ali

這樣就會顯示Ali的個人資料。大部分的網站會設計得很安全,不會讓你隨便改user參數就能看其他人的資料。但如果開發者疏忽了,有時候可能某些資料還是會被顯示出來。
雖然你進不了別人的帳號頁面,但你可能還是能看到別人的信箱,只要隨便改一下網址後面的user參數,這就很危險了。


上一篇
[Day 27]DOM-based 漏洞
下一篇
[Day 29]SSRF(服務器端請求偽造)攻擊
系列文
從 Moblie Development 主題被損友洗腦鬼轉 Security 的我真的可以完賽嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言