2
  • 我们正在考虑使用一个库来帮助我们检测 SQL 注入。

    • 我们正在使用 sprocs 和参数化语句,但是为了这篇文章,我们只使用了一些检测/验证用户输入的库。

什么是最好的?最容易实施?最容易更新/管理?为什么偏爱一个而不是另一个?

附带说明:

我刚刚开始使用Owasp。用 C#。我希望在验证时会有更多的默认规则。使用 isValid 函数时,只有 5 个默认规则。

CREDIT_CARD -- 信用卡验证规则的规则名称键。DATE -- 日期验证规则的规则名称键。DOUBLE -- 双重验证规则的规则名称键。INTEGER -- 整数验证规则的规则名称键。PRINTABLE -- 可打印验证规则的规则名称键。

我希望字符串 SQL 注入检测会有更多的默认规则。

谢谢

4

2 回答 2

4

使用存储过程是朝着正确方向迈出的一大步。我要添加的是输入验证,看起来您正在尝试使用 OWASP ESAPI 库进行操作,但在大多数情况下通过正则表达式实现它非常简单。对于大多数不受信任的数据,您应该找到大量公开可用的模式。

您可能想做的另一件事是在数据层应用最小权限原则。考虑使用多个 SQL 帐户,并将面向公众的用户使用的帐户的访问权限限制为绝对最低限度的功能。您正在使用存储过程;如果您还没有,请尝试避免任何数据读取器或数据读取器权限。

面向 .NET 开发人员的 OWASP Top 10 中的更多信息第 1 部分:注入

于 2010-05-25T21:34:13.213 回答
1

我正在使用 AntiXSS 来验证用户输入——特别是包括保护 aganist SQL Injection。我已经看到了一些攻击,但没有通过 - 所以对我来说似乎效果很好。

另外 - 特洛伊知道他在说什么 - 他关于这个主题的文章非常好:)

于 2010-10-08T03:03:26.537 回答