动态LINQ的OrderBy Injection危险吗?

时间:2018-05-01 19:53:01

标签: c# dynamic-linq

我已经能够通过两个查询字符串和动态LINQ动态地对页面内容进行排序。今天我才意识到我可以以一种无意的方式使用它。

通常我会提供查询字符串参数Sort.Field=SomeFieldSort.Direction=desc,这样就可以在代码中通过query.OrderBy(field + " " + direction)设置排序。

意外

今天我了解到我可以提供类似Sort.Field=Modified.On != null ? Modified.On : Created.OnSort.Direction=desc的内容。

能够做到这一点本身并不危险,但是让我对动态LINQ的可能性感到有点不安。

是否存在任何其他可能发生的安全问题,我从未想过,通过这种注射?

注意

我确实读过这个question/answer,但这似乎更倾向于逃避角色,我关心的是动态LINQ的OrderBy函数能够做什么。

0 个答案:

没有答案