敏感信息泄露概述
由于后臺人員的疏忽或者不當的設計,導致不應該被前端用戶看到的數據被輕易的訪問到。 比如:
---通過訪問url下的目錄,可以直接列出目錄下的文件列表;
---輸入錯誤的url參數后報錯信息里面包含操作系統、中間件、開發語言的版本或其他信息;
---前端的源碼(html,css,js)里面包含了敏感信息,比如后臺登錄地址、內網接口信息、甚至賬號密碼等;類似以上這些情況,我們成為敏感信息泄露。敏感信息泄露雖然一直被評為危害比較低的漏洞,但這些敏感信息往往給攻擊著實施進一步的攻擊提供很大的幫助,甚至“離譜”的敏感信息泄露也會直接造成嚴重的損失。 因此,在web應用的開發上,除了要進行安全的代碼編寫,也需要注意對敏感信息的合理處理。
你可以通過“i can see your abc”對應的測試欄目,來進一步的了解該漏洞。
在 Pikachu 靶場中,能觀察到多種典型的敏感信息泄露場景:
- 目錄列表暴露:當用戶訪問特定 URL 下的目錄時,系統會直接將該目錄下的文件列表呈現出來。攻擊者一旦獲取這些信息,就可能知曉系統文件結構,進而鎖定關鍵配置文件或敏感數據文件,為后續攻擊指明方向。例如,若知曉配置文件所在位置,攻擊者可能嘗試下載并分析其中的數據庫連接信息等。
- 錯誤信息泄露:當輸入錯誤的 URL 參數后,系統報錯信息中會不慎包含操作系統、中間件以及開發語言的版本等關鍵信息。這些信息對于攻擊者而言,是了解目標系統技術架構的重要線索。不同版本的軟件往往存在已知的漏洞,攻擊者可據此針對性地準備攻擊手段。例如,若得知目標系統使用的某版本中間件存在特定遠程代碼執行漏洞,便可能發動相應攻擊。
- 前端源碼信息暴露:在前端的源碼,如 HTML、CSS、JS 文件中,包含敏感信息。這其中可能有后臺登錄地址、內網接口信息,甚至是賬號密碼等。若前端源碼被攻擊者獲取,后臺登錄地址的泄露可能使攻擊者直接嘗試對后臺進行暴力破解;內網接口信息的暴露則可能成為攻擊者進一步滲透內部網絡的突破口;而賬號密碼的泄露,無疑會直接導致系統控制權的喪失。
測試題目——?i can see your abc
登錄網頁:pikachu/vul/infoleak/findabc.php#
F12查看網頁源代碼,前端源碼信息泄露。發現泄露測試賬號:lili/123456。
通過泄露賬號登錄成功!?
登錄成功之后發現網頁變為pikachu/vul/infoleak/abc.php?
防止敏感信息泄露的措施?
- 合理設計:網站的設計應該合理,避免不必要的信息泄露。
- 信息隱藏:敏感信息應該被隱藏,避免被未經授權的用戶獲取。
- 安全編碼:開發人員應該遵循安全編碼規范,避免在代碼中泄露敏感信息。
- 錯誤信息處理:錯誤信息應該被處理,避免包含敏感信息。
- 定期審計:網站應該定期進行審計,發現和修復可能存在的敏感信息泄露漏洞。
盡管在常見的漏洞評級中,敏感信息泄露常被評為危害程度較低的漏洞,但在 Pikachu 靶場模擬的場景以及實際網絡環境中,這些敏感信息卻能為攻擊者實施后續攻擊提供極為關鍵的支持。嚴重的敏感信息泄露事件,正如靶場中所模擬的極端情況一樣,極有可能直接造成嚴重的經濟損失、數據丟失或系統癱瘓等后果。?