漏洞名称:敏感信息泄露
漏洞描述:
敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等,在程序文件、配置文件、日志文件、备份文件及数据库日志中都有可能包含敏感数据。
检测条件:
1、 Web业务运行正常。
2、 Web中存储敏感的数据信息。
检测方法:
1、 检测形式多样,工具爬虫web扫描得到敏感文件的路径,从而找到敏感数据,
2、 手工挖掘,根据web容器或者网页源代码的查看,找到敏感信息。
修复方案:
1.禁止在代码中存储敏感数据:禁止在代码中存储如数据库连接字符串、口令和密钥之类的敏感数据,这样容易导致泄密。
2.禁止密钥或帐号的口令以明文形式存储在数据库或者文件中:密钥或帐号的口令必须经过加密存储。例外情况,如果Web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,那么就不用强制遵循该规则,将该配置文件的属性改为只有属主可读写。
3.禁止在 cookie 中以明文形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据;如果条件限制必须使用cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。
4.禁止在隐藏域中存放明文形式的敏感数据。
5.禁止用自己开发的加密算法,必须使用公开、安全的标准加密算法。
6.禁止在日志中记录明文的敏感数据:禁止在日志中记录明文的敏感数据(如口令、会话标识jsessionid等), 防止敏感信息泄漏。
7.禁止带有敏感数据的Web页面缓存:带有敏感数据的Web页面都应该禁止缓存,以防止敏感信息泄漏或通过代理服务器上网的用户数据互窜问题。