/ ** /或/ ** /是什么意思?

时间:2012-06-29 06:05:36

标签: security

我们已经记录了有人试图将/**/or/**/添加到查询字符串的请求。

这是什么意思,它可以在哪里造成损害?我应该在我的代码中注意什么?

修改

具体而言/**/or/**/1=@@version)-- - 目标是什么?

1 个答案:

答案 0 :(得分:3)

几乎可以肯定是SQL Injection Attack或非常类似的尝试。最简单的思考(并阅读)关于SQL的这种漏洞,即使在你的情况下它是一个稍微不同的攻击向量。

这个想法是,如果你有这种SQL:

"SELECT User from USERS where UserName =" + user + " AND PASSWORD = " + password

然后将您直接看到的值插入SQL中会导致查询意味着与您预期的完全不同(通常更宽松)。通常,SQL注入攻击包含单引号,以终止SQL中的文本值。你确定你见过的没有的攻击有单引号吗?

如果您在整个应用程序中使用参数化SQL(并且数据库中没有动态SQL),并且从不尝试将传入的用户指定值用作任何类型的“代码”,那么您应该没问题。

我怀疑在你的情况下,它可能是攻击者希望用来穿透你安全的SQL;它可能是Javascript。但是这个想法是相同的:如果你以任何形式使用任何用户输入作为“代码”,例如通过构建一个与预定义代码混合的字符串,然后执行该代码,您将使自己容易受到攻击。始终将代码视为代码(在您的控件下),将数据视为数据。