0

我读过这篇文章:http ://crackstation.net/hashing-security.htm

在对密码进行哈希处理的部分中,它说最好在服务器中对密码进行哈希处理,因为如果有人窃取了哈希数据库,则无需密码即可访问用户帐户。

但是如果有人可以窃取哈希数据库,他可以访问整个数据库,对吗?如果这是正确的,他可以访问所有数据,而不仅仅是用户信息。那么他为什么只想要部分信息呢?

4

1 回答 1

2

攻击者通常会尝试窃取数据库以访问应用程序。当然,如果数据库包含敏感信息(如信用卡号),如果他窃取了数据库,他就不需要访问应用程序。(PCI DSS 标准解释了如何存储信用卡信息)

如果他找到纯文本密码,他将能够毫无问题地访问应用程序。但如果数据库包含散列值,攻击者需要找到与散列值对应的纯文本值。如果您使用 MD5 或 SHA1 等弱哈希算法,攻击者可以更轻松地对纯文本值进行精细处理。

为了获得更好的保护,建议使用强哈希算法,如 SHA128 或 SHA 256。此外,强烈建议为每个用户使用不同的盐值。(提示:将值存储在不称为 salt 的列中,例如 userhint)

一般评论:在安全方面,您应该尽可能地保护。您保护您的应用程序免受 SQL 注入,以防止数据库被盗https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet 您散列/加密敏感,以防您的数据库被盗:数据https://www.owasp.org /index.php/Top_10_2013-A6-Sensitive_Data_Exposure

于 2013-04-01T12:46:01.590 回答