【问题标题】:SQL Injection through default membership.通过默认成员身份进行 SQL 注入。
【发布时间】:2013-03-11 09:28:14
【问题描述】:

我正在使用 memebership.validateuser 函数来验证 Asp.net MVC 3 中的用户,但我发现它对于 SQL 注入来说不够安全。

该方法采用两个参数用户名和密码,然后服务从存储在其成员资格表中的值中进行检查,该成员表使用盐加密。

我们能否为这个功能提供另一种方法,它比会员资格或 Asp.net 会员身份验证用户服务安全得多,我应该坚持下去???

【问题讨论】:

  • 你能解释一下你觉得不够安全的地方吗?攻击场景如何?
  • @Ankit ASP .NET 成员是否使用 SPROCS? Linq-to-SQL?正如 Tomalak 所说,这样做的方式有什么不安全的地方?

标签: sql asp.net-mvc security


【解决方案1】:

与其创建一个基本上完成membership.validateuser 已经在做的事情的新方法,不如创建一个在将输入的用户名和/或密码传递给membership.validateuser 之前对其进行清理的方法?

LINQ to SQL 和 Entity Framework 生成参数化 SQL,因此您可以立即防止 SQL 注入。

回答你的最后一个问题:坚持下去。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2017-12-05
    • 2020-07-23
    相关资源
    最近更新 更多