gpt4 book ai didi

entity-framework - IQueryable SQL 注入(inject)证明是否使用 Entity Framework ?

转载 作者:行者123 更新时间:2023-12-04 12:46:52 25 4
gpt4 key购买 nike

我知道如果我使用 linq to sql,一切都会被参数化并且 sql 注入(inject)是安全的。
但是 IQueryable 怎么样?

例如,我可以将一些实体转换为 Iqueryable:

var myquery = mytesttable.AsQueryable();
var qText = "name="+ "\""+DynamicSearchCondition+ "\"";
myquery = myquery.Where(qText);

然后当查询运行时,从跟踪中我可以看到传入的 DynamicSearchCondition 没有参数化。

最初我认为这不是 sql 注入(inject)证明,但后来我尝试了一些示例,但就是无法破解这个。
这是否意味着它是免费的 sql 注入(inject)(我认为是现在)?

如果这是真的,这是否意味着所有 IQueryable 都是 sql 注入(inject)安全的?

最佳答案

绝对容易受到注入(inject)攻击。

对于您的特定示例:

var myquery = mytesttable.AsQueryable();
var qText = "name="+ "\""+DynamicSearchCondition+ "\"";
myquery = myquery.Where(qText);

会失败的:
var DynamicSearchCondition= "\" or \"\"=\"";

关于entity-framework - IQueryable SQL 注入(inject)证明是否使用 Entity Framework ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32886761/

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