敏感信息泄露(低危)

一.基本概念

    敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等,在程序文件、配置文件、日志文件、备份文件及数据库中都有可能包含敏感数据。


二.漏洞复现

  在此我简单归纳几种容易出现该漏洞的模块。

1.源代码

    很多程序员在开发过程中容易将敏感信息(类似程序员姓名,账号密码)直接写为注释,这对于有经验的黑客来说会成为致命的缺陷。

2.传输过程中

    在传输过程中,很多开发人员会将账号密码等敏感信息直接明文写入JSON串进行传输。

3.错误显示

    在网站的报错中,也有可能暴露本身系统的敏感信息,例如sql语句的泄露,中间件版本的泄露。


三.修复方案

    1.禁止在代码中存储敏感数据:禁止在代码中存储如数据库连接字符串,口令和密钥等敏感数据,这样容易导致泄密。用于加密密钥的密钥可以硬编码在代码中。

    2.禁止密钥或账号的口令以明文形式存储在数据库或者文件中:密钥或者账号的口令必须经过加密存储。例外情况,如果web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,那么就不用强制遵循该规则,将该配置文件的属性改为只有属主可以读写。

    3.禁止在cookie中以明文形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据:如果条件限制必须使用cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。

    4.禁止在隐藏域中存放明文形式的敏感数据。

    5.禁止用自己开发的加密算法,必须使用公开安全的标准加密算法。

    6.禁止在日志中记录明文的敏感数据:禁止在日志中记录铭文的敏感数据(如口令,会话标识jsessionid等),防止敏感信息泄露。

    7.禁止带有敏感数据的Web页面缓存:带有敏感数据的Web页面都应该禁止缓存,以防止敏感信息泄露或者通过代理服务器上网的用户数据互窜问题。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容