敏感數據包括但不限於:口令、密鑰、證書、會話標識、License、隱私數據(如短消息的內容)、受權憑據、我的數據(如姓名、住址、電話等)等,在程序文件、配置文件、日誌文件、備份文件及數據庫中都有可能包含敏感數據。主要分爲由版本管理軟件致使的泄露, 文件包含致使的泄露和配置錯誤致使的泄露.css
因爲後臺人員的疏忽或者不當的設計,致使不該該被前端用戶看到的數據被輕易的訪問到。 好比:html
因爲網站開發人員或者運維人員疏忽,存放敏感信息的文件被泄露或因爲網站運行出錯致使敏感信息泄露。前端
phpinfo信息泄漏 (演示)mysql
/test.php /p.php /phpinfo.php /info.php
編輯器備份文件git
.asdad.swp .asdasd.bak *.old
日誌文件github
*.log /data/mysql_error_trace.inc
版本管理工具文件信息泄露web
.git/ .git/config .svn/entriesp CVS/Entriesp .gitignore
https://github.com/lijiejie/GitHack
git源碼恢復工具 (演示)算法
關鍵功能性地址泄露sql
/admin/ /manage/ /login.php /manage.php /phpMyAdmin /phpmyadmin
網站源碼備份文件
www.rar {sitename}.tar.gz web.zip/tar.gz/rar
網站前端HTML源代碼信息泄漏
Http Header返回頭 (演示)
Server Cookie 中間件的類型、版本
報錯信息
源碼託管平臺 (演示)
源碼託管,是公共項目的致使敏感信息泄漏
其餘
robots.txt
這種類型的漏洞是能夠藉助基於目錄掃描的工具實現自動化探測的
https://github.com/ring04h/weakfilescan
https://github.com/lijiejie/BBScan
whatweb
御劍掃描器
Skipfish
一、禁止在代碼中存儲敏感數據:禁止在代碼中存儲如數據庫鏈接字符串、口令和密鑰之類的敏感數據,這樣容易致使泄密。用於加密密鑰的密鑰能夠硬編碼在代碼中。
二、禁止密鑰或賬號的口令以明文形式存儲在數據庫或者文件中:密鑰或賬號的口令必須通過加密存儲。例外狀況,若是Web容器的配置文件中只能以明文方式配置鏈接數據庫的用戶名和口令,那麼就不用強制遵循該規則,將該配置文件的屬性改成只有屬主可讀寫。
三、禁止在cookie中以明文形式存儲敏感數據:cookie信息容易被竊取,儘可能不要在cookie中存儲敏感數據;若是條件限制必須使用cookie存儲敏感信息時,必須先對敏感信息加密再存儲到cookie。
四、禁止在隱藏域中存放明文形式的敏感數據。
五、禁止用本身開發的加密算法,必須使用公開、安全的標準加密算法。
六、禁止在日誌中記錄明文的敏感數據:禁止在日誌中記錄明文的敏感數據(如口令、會話標識jsessionid等),防止敏感信息泄漏。
七、禁止帶有敏感數據的Web頁面緩存:帶有敏感數據的Web頁面都應該禁止緩存,以防止敏感信息泄漏或經過代理服務器上網的用戶數據互竄問題。
八、上線以前檢查網站目錄沒有其餘的備份文件
九、配置Web容器不能訪問.開頭的文件