我在考虑最近(似乎是每周一次)的安全漏洞,我们已经看到数百万个密码哈希被泄露,我想知道如何保护他们的网站免受密码转储,即使黑客发现了 SQL 注入漏洞。
如果网站用来登录数据库的用户拥有更有限的权限怎么办。假设用户在所有非关键数据上都拥有正常的完全权限(CRUD)。但是,如果用户被拒绝对存储登录哈希、安全问题等的表进行所有 CRUD 操作,并且只能在该表上运行存储过程,该怎么办。假设这些存储过程从未将密码散列返回给应用程序层,而是将散列传递给过程,过程将返回一个布尔值,指示是否存在匹配项。
在我看来,这种设置将完全消除通过 SQL 注入进行密码哈希转储的可能性。此设置是否提供额外的安全性,是否可取?
更新
请参阅此问题以获取更多详细信息: