我的网站很容易被sql注入,对吧?

时间:2012-01-08 19:42:38

标签: sql security sql-injection

在我的一个客户网站上,我认为我发现了一个很大的安全问题。 我发现当我在搜索框中输入分号时,脚本引发了一个sql错误。所以我开始玩......

在搜索框中输入以下SQL命令会执行以下查询: '+AND+product_description.description+LIKE+'%Computers%

查询在数据库上执行!

通过执行选择,插入和删除查询,黑客是否可以造成伤害是否安全?基于我的查询被执行的事实,我几乎可以肯定它应该可能造成伤害......我是对的吗?

4 个答案:

答案 0 :(得分:2)

是的,你是对的。您应该始终清理输入,而不是直接以这种方式使用它,否则它将迟早会受到SQL注入攻击的影响。

答案 1 :(得分:1)

是的,你是对的。此代码对sql注入攻击开放。

答案 2 :(得分:1)

这肯定是SQL注入的一种形式,你担心是正确的。

但是,仅凭这一点还不足以判断除了以意外方式更改查询参数之外是否可以执行其他操作。例如,可以更改查询以从原始查询中未列出的表中检索数据,这可能非常糟糕。

我强烈建议避免在构建SQL查询时使用字符串连接,而是使用“预准备语句”,它只允许用用户选择的数据值替换提供的占位符。即使在那里,应用程序在将值传递到数据库之前检查至少一些完整性的值是明智的 -

答案 3 :(得分:0)

您的网站对SQL注入攻击持开放态度,您可以做很多事情来保护它,但我建议的第一个短期内容是创建一个只有读取权限的用户ID,并将此ID用于所有查询。黑客仍然可以从您的数据库中提取数据,但不会像更新或删除行或表一样容易......