敏感数据包括但不限于:口令、密钥、证书、会话标识、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容器不能访问.开头的文件