【问题标题】:dubts about security with passwords in database [closed]关于数据库中密码安全性的疑问[关闭]
【发布时间】:2013-03-22 11:57:12
【问题描述】:

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

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

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

【问题讨论】:

  • 攻击者可能关心的并不是密码,而是密码与其他数据不同,可以通过仅比较的形式(例如单向哈希)来保护密码而不是生的;而对于大多数其他领域,它们需要被回读,而不仅仅是比较。因此,可以以其他内容无法保护的方式保护密码。
  • 如果我的回答回答了你的问题,你可以接受并推广它:)

标签: database security passwords


【解决方案1】:

攻击者通常会尝试窃取数据库以访问应用程序。 当然,如果数据库包含敏感信息(如信用卡号),如果他窃取了数据库,他就不需要访问应用程序。 (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

【讨论】:

  • 是的,但我认为应用程序的基本功能是成为访问数据库的友好方式。因此,如果有人因为可以访问数据库而无需登录应用程序,为什么试图窃取信息的人会想要使用该应用程序?
  • 例如,在线商店应用程序。在这种情况下,如果攻击者访问数据库——他将无能为力。但是,如果他能够登录并代表受害者命令工作人员到他的地址 - 这是不好的。如果您需要更多解释,请发表评论。
猜你喜欢
  • 1970-01-01
  • 2013-06-23
  • 2011-05-03
  • 2010-12-22
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
  • 2017-12-26
  • 2016-05-15
相关资源
最近更新 更多