OData关注SQL注入

lio*_*art 8 c# linq asp.net-mvc ado.net odata

假设我有一个充满健康记录和ASP.NET MVC应用程序的数据库.假设某人使用URL"/ api/medicalRecords?$ filter = id gt 0"来调用Ajax请求.在我看来,这对SQL注入是开放的 - 就像10 - 15年前一样......

这是否意味着它是通过标准的SQL注入开放,还是依赖于服务器端(我使用IQueryable结果和实体框架4)?

我知道认证机制是必要的 - 但是为了这个问题,假设没有可用的认证机制......

Rad*_*ler 6

试着阅读这篇博文,其中提供了有关OData和SQL注入的非常详细的信息:

http://kscottmorrison.com/tag/sql-injection/

...当然,OData是数据源连接,因此注入不是问题 - 只需先掌握它就足够了.所以对OData来说至关重要的是严格管理这个连接能做什么......


M.B*_*ock 5

WCF数据服务将参数化您的过滤器中的值,从而消除了SQL注入的可能性。

我建议查看在数据库探查器中执行的实际SQL查询。