0

我看到了一些类似的问题,没有关于 mysql ......
有没有办法将 sql 注入到 SP 中?如何在 SP 级别上防止这种情况?
换句话说,可以通过传入参数以任何方式修改 SP 内的查询结构吗?
如果我将参数“1;DELETE FROM users;--”发送到存储过程,则查询是:

select *
from T
where = @p
4

1 回答 1

5

SQL 注入基本上是在查询中添加额外的代码。攻击本身的发生是因为服务器将输入数据解析为 SQL 代码并相应地执行它。您无法在 SP 级别上保护它,因为当执行到达过程时,攻击已经成功。

因此,只要将查询构造为文本,无论查询的文本是什么,SQL 注入都是可能的。如果你不这样做,或者如果你正确地清理了你的输入,那么 SQL 注入不应该是一个问题,无论是 SELECT 还是其他什么。

于 2012-01-23T15:29:18.457 回答