小编UpT*_*ide的帖子

这个 SQL 过程是“防注入”吗?

大多数 SQL 注入的答案和示例都显示某种形式的动态 SQL 或将参数解释为 SQL。

我还没有找到“正确”方式的例子。Microsoft 和 Oracle 的文档仅显示了不应做什么的示例。

因此,我想我应该询问这个存储过程示例是否受到 SQL 注入攻击的保护。

CREATE PROCEDURE test
    @username = varchar(30)
    @password = varchar(30)
AS
BEGIN
    SELECT *
    FROM credentials
    WHERE username = @username
    AND password = @password;
END
GO
Run Code Online (Sandbox Code Playgroud)

这个特定的过程是否容易受到 SQL 注入的影响?我创建了该过程并通过各种尝试注入 SQL 来执行它,例如EXEC test @password = '0; drop table credentials;',但无法这样做。我想我可能没有正确地进行攻击。

security sql-server sql-injection t-sql

10
推荐指数
2
解决办法
2622
查看次数

标签 统计

security ×1

sql-injection ×1

sql-server ×1

t-sql ×1