admin管理员组

文章数量:1337119

前提概要

本文章仅用于分享身份认证与授权漏洞基础学习,以下是对身份认证与授权漏洞的一些个人解析,请大家结合参考其他文章中的相关信息进行归纳和补充。


身份认证与授权漏洞描述

        身份认证与授权漏洞是指在系统中,用于验证用户身份以及确定用户访问权限的机制存在缺陷,导致未经授权的用户可能获得系统访问权限,或者合法用户被授予超出其应有的权限,从而引发安全风险。

        例如,弱密码设置、未限制登录尝试次数等漏洞可能导致身份认证被绕过,使攻击者能够冒充合法用户登录。而授权漏洞可能表现为权限分配不当,如用户被错误地赋予了管理员权限,或者访问控制机制存在缺陷,使得用户能够访问其不应访问的资源。

身份认证描述

        ⾝份认证(Authentication)和授权(Authorization)是保证安全的关键技术。

身份认证:

        是验证用户或客户端⾝份、验证⽤户(主体、人)和账号的关系的过程,是保证 Web 安全必要条件之⼀。

⾝份认证主要有三种类型:
        所知道的信息(Knoedge Factors),如,密码、某个问题的答案。
        所拥有的东西(Possession Factors),这是⼀个物理对象,如,短信验证码、安全令牌、U 盾。
        ⾃⾝特征(inherence factors),如,⽣物特征。

U盾        U 盾是中国工商银行率先推出并获得国家专利的客户证书 USBkey,是用于网上银行电子签名和数字认证的安全工具。
外观与原理        U 盾外形类似 U 盘,内置智能芯片,存储着用户的密钥等关键信息。当用户进行网上银行操作时,U 盾会对交易信息进行加密、解密和数字签名,确保交易的安全性和不可抵赖性。
作用与优势        它能有效防止黑客、木马病毒等窃取用户的账号和密码,保障网上银行交易的安全。使用 U 盾进行转账、支付等操作时,即使他人获取了用户的账号和密码,没有 U 盾也无法完成交易,大大提高了资金的安全性。
使用方法        用户在进行网上银行交易时,将 U 盾插入电脑的 USB 接口,输入 U 盾密码,通过银行系统验证后,即可完成交易操作。

安全令牌:一种用于身份验证和访问控制的安全工具。它通过生成唯一的代码或数字签名,来验证用户身份,确保只有授权用户能访问特定资源,以此增强系统安全性,降低因密码被盗用等带来的安全风险。

授权描述

        授权(Authorization)是经过⾝份认证之后,用户被授予做某件事情的权限,就是有权或⽆权。

AAA技术

AAA 技术是 Authentication(认证)、Authorization(授权)和 Accounting(计费)的简称,它是网络安全领域中用于管理用户访问和使用网络资源的重要技术。以下是对 AAA 技术的详细介绍:

  • 认证(Authentication)
    • 定义:认证是验证用户身份的过程,确保用户是他们所声称的人。这通常通过用户名和密码、数字证书、生物识别技术(如指纹、面部识别)等方式来实现。
    • 作用:防止未经授权的用户访问网络资源,保护网络的安全性和保密性。只有通过认证的用户才能获得访问网络的权限。
    • 实现方式:常见的认证协议有 PPP CHAP(Point - to - Point Protocol Challenge Handshake Authentication Protocol)、EAP(Extensible Authentication Protocol)等。例如,在远程办公场景中,员工通过 VPN(Virtual Private Network)连接公司网络时,需要输入用户名和密码进行认证,以确保只有合法的员工能够访问公司内部资源。
  • 授权(Authorization)
    • 定义:授权是在用户通过认证后,确定该用户可以访问哪些资源以及具有哪些操作权限的过程。它基于用户的身份、角色或其他属性来授予相应的权限。
    • 作用:实现对网络资源的细粒度访问控制,确保用户只能访问他们被授权访问的资源,并执行他们被允许执行的操作。这样可以防止用户越权访问敏感信息或执行危险操作,保护网络资源的完整性和可用性。
    • 实现方式:授权通常通过访问控制列表(ACL)、角色 - 基于访问控制(RBAC)等技术来实现。例如,在企业网络中,不同部门的员工可能具有不同的权限,财务部门的员工可以访问财务相关的数据库和文件,而销售部门的员工则只能访问与销售业务相关的资源。这就是通过 RBAC 技术,根据员工所在的角色来授予相应的权限。
  • 计费(Accounting)
    • 定义:计费是记录用户对网络资源的使用情况,包括使用的时间、流量、服务类型等信息,并根据一定的计费策略进行费用计算和统计的过程。
    • 作用:一方面,计费可以帮助网络服务提供商(ISP)或企业内部的网络管理员了解网络资源的使用情况,以便进行资源规划和成本控制;另一方面,对于付费用户,计费是收取费用的依据,确保用户按照其使用量支付相应的费用。
    • 实现方式:计费系统通常与网络设备(如路由器、交换机)或应用服务器进行集成,通过收集设备发送的计费信息来记录用户的使用情况。常见的计费协议有 RADIUS(Remote Authentication Dial - In User Service)、Diameter 等。例如,在移动网络中,运营商通过计费系统记录用户的通话时长、短信数量、数据流量等信息,然后根据用户的套餐计划进行费用计算和扣除。

AAA 技术通过认证、授权和计费三个功能的协同工作,为网络提供了全面的安全管理和资源控制机制,确保只有合法的用户能够访问网络资源,并且用户的访问和使用行为受到严格的控制和监控。

身份认证与授权漏洞原理

身份认证漏洞原理

  • 弱密码问题:用户选择简单易猜的密码,或系统未强制要求复杂密码,使得攻击者可通过暴力破解或字典攻击猜出密码,进而冒充合法用户登录。
  • 会话管理漏洞:系统对用户会话的创建、管理和销毁过程存在缺陷,如会话 ID 生成规则可预测,攻击者就能伪造会话 ID,劫持用户会话,获取用户权限。
  • 身份验证绕过漏洞:应用程序中可能存在逻辑缺陷,使攻击者能通过特定方式绕过身份验证环节,直接访问受限资源。例如,通过修改请求参数或利用未正确验证的功能入口。

授权漏洞原理

  • 权限分配不当:管理员在为用户分配权限时出现错误,将过高权限赋予普通用户,导致用户能够执行超出其职责范围的操作,访问敏感信息或执行关键功能。
  • 访问控制缺失或不严格:系统没有对访问资源的请求进行充分的权限检查,或者访问控制规则存在漏洞。攻击者可利用这些漏洞,通过构造特定请求,绕过访问控制机制,访问未授权的资源。
  • 权限提升漏洞:攻击者利用系统中的漏洞,将自身权限从低级别提升到高级别。例如,通过漏洞获取管理员权限,从而控制整个系统。

身份认证与授权漏洞危害

        ⾝份认证漏洞的危害可能⾮常严重。如果攻击者绕过⾝份认证或强⾏进⼊另⼀个⽤⼾的帐⼾,那么就可以访问⽬标⽤⼾帐⼾的所有数据和功能。
        如果⽬标⽤⼾账⼾是⾼特权帐⼾(如系统管理员),⿊客攻击者就可以完全控制整个应⽤程序,并有可能访问内部资产。
        即使危及低特权帐⼾,攻击者仍可能访问他们不应该拥有的数据,例如商业敏感的业务信息。即使帐⼾⽆法访问任何敏感数据,仍然可能允许攻击者访问其他⻚⾯,从⽽提供进⼀步的攻击⾯。严重的漏洞⼀般来⾃内部⻚⾯。

  • 数据泄露:未经授权的用户通过身份认证漏洞获取合法用户身份,进而访问敏感数据,如个人信息、财务数据、商业机密等,造成数据泄露,给用户或企业带来严重的隐私和经济损失。
  • 系统被篡改:攻击者利用授权漏洞获得系统的写权限或更高权限后,可能会对系统中的数据、配置文件等进行篡改,影响系统的正常运行,甚至导致系统崩溃,破坏业务的连续性。
  • 恶意操作执行:获得不当授权的攻击者可以在系统中执行各种恶意操作,如发起网络攻击、删除重要数据、传播病毒或恶意软件等,不仅会对目标系统造成损害,还可能影响到与之相关的其他系统和网络。
  • 经济损失:对于企业而言,身份认证与授权漏洞可能导致财务损失,如资金被盗取、交易被篡改等。同时,企业的声誉也可能受到损害,客户信任度降低,进而影响业务发展,造成长期的经济损失。
  • 法律风险:如果因身份认证与授权漏洞导致用户数据泄露或其他安全事故,企业可能面临法律诉讼和监管部门的处罚,需承担相应的法律责任。

身份认证与授权漏洞挖掘

1.暴力破解

        1.用户名爆破

    用户名爆破或用户名枚举(Username Enumeration),简单来说就是暴⼒猜测用户名。

    如果⽤⼾名有固定的格式,如,电⼦邮件地址,则⽤⼾名特别容易猜测。常⻅的业务登录名格式为firstname.lastname@somecompany 。即使没有明显的格式,也可以使⽤常⻅的⽤⼾名,如admin、administrator)。

        枚举通常发⽣在登录⻚⾯上,如, 您输⼊有效的⽤⼾名但密码不正确 、 Invalid username ,或者在注册表单上, 您输⼊已被使⽤的⽤⼾名 。这⼤⼤减少了暴⼒登录攻击所需的时间和精⼒。
        在尝试暴⼒破解登录⻚⾯时,应该注意以下⽅⾯的差异:
                状态码
                错误信息
                响应时间

        2.密码爆破

    ⽹站采⽤密码策略,⽤⼾使⽤⾼复杂度的密码,理论上增加爆破的难度。增加密码复杂的⽅式有: 最少密码位数        ⼩写字⺟和⼤写写字⺟的混合        ⾄少⼀个特殊字符

    虽然⾼复杂度密码很难被计算机破解,但是⽤⼾创建的密码通常跟基本知识或⼈类⾏为有关。⽤⼾通常不会使⽤完全随机字符组合的强密码,这样不⽅便记忆,但是还要执⾏密码策略。如,如果不允许mypassword ,⽤⼾可以尝试类似于 Mypassword1! 的变形或者Myp4$$w0rd 。

        3.锁 IP 绕过

防⽌暴⼒攻击的两种最常⻅的⽅法是,当⽤⼾登录达到⼀定是失败次数:锁账⼾、锁 IP。

        如果多次登录失败,可能会发现 IP 被锁定。在实践中,如果 IP 所有者成功登录,失败登录次数计数器重置。这意味着攻击者只需每隔⼏次尝试登录⾃⼰的帐⼾,就可以绕过此限制。

        4.锁账⼾绕过

    ⽹站防⽌暴⼒破解的⼀种⽅法是,如果登录失败达到⼀定的次数,则锁定(Account)。另⼀个⻆度,如果账⼾被锁定,说明账⼾存在。

        帐⼾锁定也⽆法防⽌凭据填充(Credential Stuffing)攻击,也就是常说的撞库。账号密码对字典,账号和密码是⼀⼀对应的字典,是数据泄露中真实登录凭证。凭据填充依赖于这样⼀个事实,即许多⼈在多个⽹站上重复使⽤相同的⽤⼾名和密码,因此,字典中的⼀些被泄露的凭据有可能在其他⽹站上也有效。帐⼾锁定不能防⽌凭据填充,因为每个⽤⼾名只被尝试⼀次。凭据填充特别危险,因为它有时会导致攻击者仅通过⼀次⾃动攻击就危及许多不同的帐⼾。

        5.⽤⼾速率限制

        在短时间内发出⼤量的登录请求会导致 IP 地址被锁定、封禁、阻⽌。

        通常情况下,只能通过以下⽅式之⼀解除 IP 封锁:
                ⼀段时间之后⾃动解除。
                由管理员⼿动解除。
                ⽤⼾在成功完成验证码解除。

        ⽤⼾速率限制有时⽐帐⼾锁定更具安全性,因为它不太容易受到⽤⼾名枚举和拒绝服务攻击。
        ⽤⼾速率限制也不是完全安全的,攻击者可以通过多种⽅式修改 IP 以绕过限制。
        由于该限制是基于从⽤⼾的 IP 地址发送的 HTTP 请求的速率,如果⽤单个请求猜测多个密码,也可以绕过此防御。

        6.HTTP 基本认证

        请求头:Authorization中存在Authorization: Basic base64(username:password)

2.多因素认证

        越来越多的⼈看到强制性和可选的双因素⾝份验证(Two factor Authentication,2FA)基于所知道的东西和所拥有的东西。需要⽤⼾输⼊密码和来⾃于⼿机或邮箱的验证码。

3.其他认证机制

        1.保持⽤⼾登录
        2.⽤⼾密码重置
        3.⽤⼾密码修改

身份认证与授权漏洞利用

portswigger靶场

1.

5.

6.

很幸运直接爆破出来了,实际上错误超过一定次数后,后面的测试都是200响应(即使密码正确),真正的解决方案是用宏,或者是在每试一两次后使用正确的账密刷新错误次数

7.

8.

9.

先对value进行base64解密再对 : 后的编码进行md5解码

10.

11.

12.

13.

本文标签: 漏洞身份认证