详解Web应用安全系列(5)敏感数据泄露漏洞

在最近几年,这是最常见的,最具影响力的攻击。这个领域最常见的漏洞是不对敏感数据进行加密。在数据加密过程中,常见的问题是不安全的密钥生成和管理以及使用弱密码算法,弱协议和弱密码。特别是使用弱的哈希算法来保护密码。在服务端,检测数据传输过程中的数据弱点很容易,但检测存储数据的弱点却非常困难。
敏感数据泄露漏洞通常包括敏感信息数据库未加密存储,弱密码算法和明文传输漏洞。

敏感信息数据库未加密存储

系统中涉及用户的敏感信息,包括:手机号,身份证号,密码等信息是要做数据库加密存储的,防止数据库遭脱库后数据泄露的风险。
比如下图中对用户的手机,邮箱等数据进行了数据库加密。

弱密码算法

弱密码通常指MD5和SHA1等安全性较低的加密算法,这种加密算法由于安全性较低所以容易被黑客破解从而导致数据泄露,所以我们最好采用更加安全的SHA256或DES算法进行加密。
比如下图中代码示例,对用户的手机号和证件号进行DES加密。

明文传输

客户重要信息,包括手机号,邮箱,证件等信息在传输过程中可能遭到黑客攻击,从而造成信息泄露。
那么除了全站升级到HTTPS使用SSL证书之外,我们要确保敏感信息在传输过程中不要使用明文传输,比如下图中对用户的手机号和证件信息经过加密再传输给前端。

另外,我最近开发并开源了一个支持免费申请通配符SSL证书的平台:华迅FreeCert,解决了每隔一段时间就要重新申请和部署证书(因为传统的云厂商提供的免费证书一般只有三个月有效期),不支持免费申请通配符证书这两大痛点,欢迎大家注册使用并提供宝贵意见,谢谢!