gpt4 book ai didi

security - LINQ to Entities 和 SQL 注入(inject)

转载 作者:行者123 更新时间:2023-12-01 17:42:03 24 4
gpt4 key购买 nike

我看过几篇关于 L2E 是否容易受到 SQL 注入(inject)攻击的相互矛盾的文章。

来自MSDN :

Although query composition is possible in LINQ to Entities, it is performed through the object model API. Unlike Entity SQL queries, LINQ to Entities queries are not composed by using string manipulation or concatenation, and they are not susceptible to traditional SQL injection attacks.

这是否意味着存在可能有效的“非传统”攻击? This article有一个非参数化查询的示例 - 是否可以安全地假设,如果您通过变量传入用户提供的数据,它将被参数化?

如果我这样做:

from foo in ctx.Bar where foo.Field = userSuppliedString select foo;

我安全吗?

最佳答案

在您的示例中,您使用了一个变量 (userSuppliedString),因此它将被参数化。

如果您的代码中有文字值:

from foo in ctx.Bar where foo.Field == "Hi" select foo;

...那么 EF 1 不会对其进行参数化,但 SQL 注入(inject)的危险也为零,因为它是文字。

关于security - LINQ to Entities 和 SQL 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2194848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com