📜  损坏的身份验证漏洞

📅  最后修改于: 2021-10-19 06:12:07             🧑  作者: Mango

身份验证失效属于 OWASP 十大漏洞之一。 Broken Authentication 的本质是您(Web 应用程序)允许您的用户通过创建一个新帐户并出于特定原因处理它来进入您的网站。在 Broken Authentication 中,每当用户登录其帐户时,都会创建一个会话 ID,并且该会话 ID 仅允许该特定帐户使用。现在,如果 Web 应用程序在身份验证方面是安全制作的,那么它很好,但如果不是,那么攻击者可能会使用几种给定的技术。

  • 凭据填充:在凭据填充中,攻击者拥有默认密码和用户名的标准列表。通过这个列表,他们可以对账户进行暴力破解,并可以登录合法账户。几乎不建议用户更改其默认用户名和密码以免受此类攻击。攻击者还可以通过 Linux 中的各种工具(例如 CRUNCH)根据他对目标的先验信息生成自定义密码列表。
  • 未散列的密码:将明文密码更改为可以欺骗攻击者的乱码称为密码散列。攻击者所做的是,攻击者可以拦截用户请求,因为他们都在同一个网络上。使用截获的请求,他们可以清楚地看到用户在网站上提交的密码的明文提交。使用这种技术用户可能会失去他的帐户授权和机密性。
  • 错误配置的会话超时:用户注销帐户并且攻击者拥有该用户的 cookie 的情况。使用 cookie,攻击者仍然可以访问该帐户。使用这种漏洞可以将Cookie Tampering、Session hijacking等攻击链接成一个漏洞,也称为链接bug。这种类型的错误被称为错误配置的会话超时。

攻击者使用上述方法,以防他们发现身份验证失效作为漏洞,根据网站上的用户数量进入成千上万的用户帐户。

被破坏的身份验证漏洞利用:有多种方法可以测试破坏的身份验证漏洞 在本文中,我们将简要介绍一种简单的方法。

方法:利用Cookie

  • 步骤 1:在 Web 应用程序中创建一个帐户,这里我使用了一个用于练习目的的易受攻击的 Web 应用程序。
  • 第二步:用Burpsuite等代理工具拦截Request,分析后端细节。在拦截请求时,会看到类似这样的内容。分析它为特定用户(即已创建帐户的您)生成的用户 ID cookie。
  • 第 3 步:由于 Cookie“UserId”已由服务器发送给我们,因此可以修改它以通过操纵 cookie 来检查其他用户的配置文件。我们将尝试暴力破解 USERID cookie 并检查响应。
  • 第 4 步:在对 USERID cookie 进行 Bruteforcing 后,我们将看到响应,其中将显示 OK (200) 代码,这意味着该特定组合对用户 id 有效。

    在图中,我们可以看到有很多请求都处于 OK 状态,当我们点击 Request no 441 时,我们看到用户 id brute force 是 10411。它的用户名是我们 AndyPaul,它的默认密码是是“密码”。因此,通过这种方式,如果 Web 应用程序中存在身份验证失效漏洞,我们可以提取大量用户帐户。

    身份验证漏洞的影响:

    • 暴露了大量用户帐户
    • 数据泄露
    • 管理访问
    • 敏感数据暴露
    • 身份盗窃

    修复损坏的身份验证漏洞损坏的身份验证漏洞如果在 Web 应用程序中普遍存在,则是一个严重的问题,因为此类漏洞可能导致公司在数据泄露方面遭受百万美元的攻击。以下提到的几点是 Web 应用程序可以强加给自己以免受此类攻击的一些补救措施。

    • 必须实施多因素身份验证以绕过此类攻击。
    • 用户帐户的密码复杂性必须很高。
    • 成功登录后会话 ID 的轮换。
    • 会话 ID 的验证。