代码之家  ›  专栏  ›  技术社区  ›  regjo

找不到用户名或密码错误错误消息太模糊

  •  8
  • regjo  · 技术社区  · 16 年前

    在许多应用程序中,当您的用户名或密码出错时,会出现一个非特定错误,表明输入的用户名不存在或该用户名的密码不正确。

    我(天真地)希望应用程序指定 哪一个 两个错误中的一个发生了。有什么理由不区分它们吗?我想攻击者猜测正确的用户名/密码组合会更加困难,但是是否有任何文献、研究或类似研究支持这种假设?

    5 回复  |  直到 12 年前
        1
  •  10
  •   molf    16 年前

    原因是安全:它阻止 finding out which user names exist 基于失败的尝试。

    这应该与用户体验相平衡;如果你被告知 任何一个 您的用户名或密码不正确,可能会被认为是非常无用或烦人的。

        2
  •  2
  •   Synetech    16 年前

    是的,这就是为什么许多应用程序/网站没有指定登录的哪个部分是坏的。我以前也有同样的抱怨,但后来我读了很多电脑安全书籍,包括 19 Deadly Sins of Software Security . 除了溢出和SQL注入,MichaelHoward还解释了为登录返回统一错误的原因。

    高温高压

        3
  •  1
  •   Andrew Hare    16 年前

    常识表明,模棱两可的消息更好,因为攻击者无法知道他们是否猜测了正确的用户名。

        4
  •  1
  •   Welbog    16 年前

    这是一个额外的篮筐,攻击者需要跳过。如果他冷攻击一个应用程序,他不会知道任何用户名或密码。为什么要多给他一点信息告诉他找到了一个用户名?最好不要透露这些信息。

    如果攻击者只是想确认某个特定的用户名存在怎么办?例如,一个政治家的名字作为一个崇拜网站的用户名。用户名本身是敏感信息,您不想确认哪些存在哪些不存在。

        5
  •  1
  •   Mihai    16 年前

    这一切都是为了给攻击者尽可能少的信息。 有些网站在密码提醒上更进一步。当您输入您的电子邮件地址以接收新密码或密码重置链接时,他们不会告诉您您的电子邮件地址是否已在数据库中注册,但会向您发送这样的消息:“如果您输入的电子邮件地址在我们的数据库中,您将收到一条消息…”,这将阻止攻击者查明使用了哪个电子邮件地址b你是受害者,也可以宣布受害者有人试图闯入她的账户。