假设我有一个充满健康记录的数据库和一个 ASP.NET MVC 应用程序。假设有人使用 URL“/api/medicalRecords?$filter=id gt 0”来调用 Ajax 请求。在我看来,它对 SQL 注入是开放的——就像 10 到 15 年前一样......
这是否意味着它按标准对 SQL 注入开放,还是取决于服务器端(我使用 IQueryable 结果和实体框架 4)?
我知道身份验证机制是必要的——但为了这个问题,假设没有可用的身份验证机制......
假设我有一个充满健康记录的数据库和一个 ASP.NET MVC 应用程序。假设有人使用 URL“/api/medicalRecords?$filter=id gt 0”来调用 Ajax 请求。在我看来,它对 SQL 注入是开放的——就像 10 到 15 年前一样......
这是否意味着它按标准对 SQL 注入开放,还是取决于服务器端(我使用 IQueryable 结果和实体框架 4)?
我知道身份验证机制是必要的——但为了这个问题,假设没有可用的身份验证机制......
尝试阅读这篇博文,其中提供了有关 OData 和 SQL 注入的非常详细的信息:
http://kscottmorrison.com/tag/sql-injection/
...OData,当然,是数据源连接,所以注入不是问题——只要首先掌握它就足够了。因此,对于 OData 至关重要的是严格管理此连接能够执行的操作……
WCF 数据服务将参数化过滤器中的值,从而消除 SQL 注入的可能性。
我建议查看在数据库探查器中执行的实际 SQL 查询。