是否可以使用存储过程进行sql注入?

Ita*_*vka 0 mysql stored-procedures sql-injection mysql-5.1

我看到了一些类似的问题,没有关于mysql ...
有没有办法将sql注入SP?如何在SP级别上保护此功能?
换句话说,可以通过传入参数以任何方式修改SP内部的查询结构吗?
如果我向存储过程发送参数"1; DELETE FROM users; - "并且查询是:

select *
from T
where = @p
Run Code Online (Sandbox Code Playgroud)

a s*_*ude 5

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

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