我们正在考虑使用一个库来帮助我们检测 SQL 注入(inject)。
- 我们正在使用存储过程和参数化语句,但为了这篇文章,我们仅使用一些检测/验证用户输入的库。
最好的是什么?最容易实现?最容易更新/管理? 为什么更喜欢其中之一?
附注:
我刚刚开始使用 Owasp 。用C#。 我希望验证时会有更多默认规则。 使用 isValid 函数时,只有 5 个默认规则。
CREDIT_CARD——信用卡验证规则的规则名称键。 DATE——日期验证规则的规则名称键。 DOUBLE -- 双重验证规则的规则名称键。 INTEGER——整数验证规则的规则名称键。 PRINTABLE——可打印验证规则的规则名称键。
我希望字符串 SQL 注入(inject)检测有更多默认规则。
谢谢
最佳答案
使用存储过程是朝着正确方向迈出的一大步。我要添加的是输入验证,看起来您正在尝试使用 OWASP ESAPI 库来执行此操作,但在大多数情况下通过正则表达式实现非常简单。对于大多数不受信任的数据,您应该找到大量公开可用的模式。
您可能想做的另一件事是在数据层应用最小权限原则。考虑使用多个 SQL 帐户,并将面向公众的用户使用的帐户的访问权限限制为绝对最低限度的功能。您正在使用存储过程;如果您还没有这样做,请尝试避免任何数据读取器或数据读取器权限。
关于XSS - SQL 注入(inject) - Owasp、AntiXss 与 Microsoft 反跨站脚本库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1837750/