云计算百科
云计算领域专业知识百科平台

服务器请求伪造漏洞(SSRF)及失效的访问控制漏洞

前提概要

本文章主要用于分享SSRF及失效的访问控制漏洞基础学习,以下是对SSRF及失效的访问控制漏洞原理的一些个人解析,请大家结合参考其他文章中的相关信息进行归纳和补充。


漏洞描述

服务器请求伪造漏洞(SSRF):

        SSRF 漏洞是指攻击者能够利用目标服务器去访问目标服务器可访问的任意资源,通常是通过构造恶意请求,让服务器代替攻击者向其他服务器或内部网络中的资源发送请求,从而获取敏感信息或执行其他恶意操作。

 失效的访问控制漏洞:

        访问控制是一种网络安全机制,用于确保只有授权的用户、进程或系统能够访问特定的资源或执行特定的操作。而失效的访问控制漏洞就是指在应用程序或系统中,由于访问控制机制没有正确地实施或配置,导致攻击者能够绕过或突破这些控制,非法访问、操作或修改受限的资源和功能。如:垂直权限提升、水平权限提升、未授权访问、访问权限绕过

漏洞原理 

服务器请求伪造漏洞(SSRF):

  • 输入处理不严格:Web 应用程序在处理用户输入的 URL 等参数时,没有进行严格的验证和过滤,允许用户输入任意内容。
  • 服务器代理作用:服务器会根据用户输入发起请求获取资源,攻击者利用这一点,构造恶意 URL,让服务器代替自己去访问目标资源,服务器就像攻击者的代理,利用自身权限去访问敏感数据或执行操作。
  • 突破访问限制:服务器通常有更广泛的网络访问权限,攻击者借助服务器突破客户端的安全限制,访问内部网络资源或执行本无法在客户端完成的操作,比如访问内部数据库、进行端口扫描等。

 失效的访问控制漏洞:

  • 认证授权缺陷:身份认证有漏洞,像弱密码、会话管理差等,让攻击者能获取身份凭证;授权逻辑也不对,存在权限乱分配或验证不严格的情况。
  • 配置出现错误:访问策略配置失误,把受限资源设成公开或给错权限;网络访问控制配置也错了,ACL 没拦住不该通过的流量。
  • 利用绕过技术:攻击者会篡改请求参数来改权限,滥用 HTTP 方法找控制漏洞,还会利用业务逻辑上的漏洞来绕过访问控制。

 风险评级

服务器请求伪造漏洞(SSRF):

一般属于中高危险等级,主要原因如下:

  • 攻击范围广:可让攻击者访问服务器内部网络资源,影响整个内部网络安全。
  • 数据泄露风险大:能读取服务器敏感数据,如用户信息、财务数据等,造成严重损失。
  • 可引发进一步攻击:攻击者可借此进行端口扫描、权限提升等更多攻击,可能导致系统被完全控制。
  • 利用容易且隐蔽:构造攻击简单,常通过 URL 参数篡改,且不易被发现,增加了防范难度。
  • 修复防御成本高:修复需全面检查改进服务器多个环节,防御要综合多种技术策略。

  失效的访问控制漏洞:

  • 权限滥用:攻击者易获取过高权限,随意操作数据和系统功能。
  • 数据泄露:能直接访问敏感数据,导致严重损失。
  • 系统被控:可能使攻击者完全控制服务器或程序,引发服务中断等问题。
  • 拓展攻击:成为攻击者进入系统的突破口,进而利用其他漏洞扩大破坏。
  • 难防难测:漏洞隐藏在复杂的权限管理等环节中,检测和防范都很困难。

漏洞危害 

服务器请求伪造漏洞(SSRF):

  • 信息泄露:攻击者能让服务器访问内部资源获取敏感数据,还可探测内部网络的拓扑和端口等信息。
  • 攻击拓展:能利用服务器对内部主机进行端口扫描,也可作为跳板对存在漏洞的内网服务发起攻击。
  • 恶意利用:可构造恶意链接进行钓鱼获取用户账号密码,也能控制服务器发动 DDoS 攻击使目标瘫痪。
  • 数据篡改:能访问并修改服务器关键数据,还可在业务系统中伪造或篡改数据,导致经济损失和业务混乱。
  • 绕过限制:能突破网络访问限制,访问本不能访问的资源,甚至可能结合其他漏洞提升权限,造成更大破坏。

   失效的访问控制漏洞:

  • 数据问题:会导致信息泄露,像用户隐私、商业机密被窃取,还能让攻击者篡改、删除重要数据,破坏数据完整性。
  • 系统紊乱:攻击者可能滥用权限,比如普通用户获取管理员权限搞破坏,还能越权执行功能,让系统服务中断。
  • 网络风险:攻击者以漏洞为入口,渗透内部网络找更多漏洞,还可能植入恶意软件,控制更多设备。
  • 业务受损:会破坏正常业务逻辑,比如在电商、票务系统中违规操作,最终给企业和用户造成经济损失。

漏洞验证

服务器请求伪造漏洞(SSRF):

1.

通过访问商品库存,找到post包中有stockApi接口

看到有delete,查看raw,发现此处delete是一个链接

 

2.

 

3.

4.

5.

 

6.

 

 

 失效的访问控制漏洞:

1.

4.

 

6.

7.

8.

9.

 

10.

11.

12.

抓一个admin用户提升其他用户的包,将admin的cookie修改为普通用户的cookie,发现普通用户有提升用户等级的权限,说明存在失效的访问控制漏洞

13.

典型案例

Weblogic SSRF漏洞

启动docker环境

查看是否启动成功

 

 

SSRF漏洞的相关技术名词

  • URL 伪造:攻击者构造一个看似合法但实际指向恶意服务器或内部网络资源的 URL,诱导服务器发起请求,从而实现对目标资源的访问或攻击。
  • 端口扫描:利用 SSRF 漏洞,攻击者可以让服务器对内部网络的不同端口进行扫描,探测哪些端口处于开放状态,为后续的攻击做准备。
  • 协议篡改:攻击者尝试修改请求协议,如将 HTTP 协议改为其他协议(如 file、gopher 等),以访问不同类型的资源或执行特定的攻击。例如,通过 file 协议读取服务器本地文件。
  • 白名单过滤:一种防护措施,服务器只允许访问白名单内指定的域名或 IP 地址,其他所有请求都被拒绝,以此防止服务器被诱导访问恶意或敏感的目标。
  • 深度包检测:在网络数据包层面进行深入分析,检查数据包中的内容,以识别和阻止包含 SSRF 攻击特征的请求,例如检查 URL 是否存在异常的协议或目标地址。
  • 漏洞扫描工具:专门用于检测 SSRF 漏洞的软件工具,通过对应用程序的接口进行测试,发送各种可能触发 SSRF 漏洞的请求,观察服务器的响应,从而发现潜在的 SSRF 漏洞。
  • Gopher 协议:常被攻击者用于 SSRF 攻击,它可以将数据封装在 Gopher 请求中,让服务器去请求特定的资源,例如利用 Gopher 协议构造请求来执行命令或读取文件。
  • DNS Rebinding:一种配合 SSRF 漏洞的攻击技术,通过操纵 DNS 解析结果,使服务器在不同时间将同一个域名解析为不同的 IP 地址,从而绕过一些访问限制,实现对内部网络或其他受限制资源的访问。
  • IP 欺骗:攻击者通过伪造 IP 地址,使服务器认为请求来自合法的源 IP,从而绕过一些基于 IP 地址的访问控制,配合 SSRF 漏洞进行攻击。
  • HTTP 重定向:利用服务器对 HTTP 重定向的处理机制,攻击者可以让服务器在处理请求时重定向到恶意构造的 URL,导致服务器发起非预期的请求,可能触发 SSRF 漏洞。
  • 请求走私:通过巧妙地构造 HTTP 请求,将一个请求伪装成另一个请求的一部分,或者利用服务器对请求解析的不一致性,来绕过服务器的安全检查,进而利用 SSRF 漏洞进行攻击。
  • DNS 隧道:借助 DNS 协议来传输数据,攻击者可以利用 SSRF 漏洞让服务器通过 DNS 查询将内部网络的敏感信息发送到外部控制服务器,或者接收外部攻击者发送的命令,实现数据泄露或远程控制。
  • Web 服务接口滥用:服务器提供的一些 Web 服务接口可能存在未正确验证和过滤输入的情况,攻击者利用这些接口,通过构造恶意参数触发 SSRF 漏洞,进而对服务器内部或其他关联系统进行攻击。
  • HTTP 参数污染:通过向服务器发送包含多个同名参数的 HTTP 请求,利用服务器对参数处理的不确定性,干扰服务器的正常逻辑,可能导致服务器错误地处理请求,从而触发 SSRF 漏洞。
  • SSL/TLS 剥离:攻击者尝试剥离 SSL/TLS 加密,使服务器与目标之间的通信变为明文,这样可以更方便地篡改请求内容,利用 SSRF 漏洞进行中间人攻击,窃取敏感信息或执行其他恶意操作。
  • 失效的访问控制漏洞的相关名词

  • 垂直权限提升:低权限用户通过某种方式获取了高权限用户的权限,从而能够访问或执行超出其原本权限范围的操作,例如普通用户获取了管理员权限。
  • 水平权限提升:同一权限级别的用户之间,非法访问或操作其他用户的资源,比如用户 A 能够访问用户 B 的个人信息,而这种访问在正常情况下是不被允许的。
  • 未授权访问:用户在没有经过合法身份验证或授权的情况下,直接访问系统的资源或功能,这是访问控制失效的一种常见表现形式。
  • URL 篡改:攻击者通过修改浏览器地址栏中的 URL,尝试访问未经授权的页面或执行未授权的操作。例如,修改 URL 中的参数来访问其他用户的账户信息页面。
  • 参数篡改:在网络请求中,攻击者修改传递的参数值,以改变请求的性质或绕过访问控制检查。比如,修改请求中的用户 ID 参数,来获取其他用户的数据。
  • HTTP 方法滥用:攻击者利用一些 HTTP 方法(如 PUT、DELETE 等),对资源进行未授权的修改或删除操作。如果服务器对这些方法的访问控制不严格,就可能导致漏洞被利用。
  • 访问控制列表(ACL):一种用于定义用户或用户组对系统资源访问权限的列表,通过配置 ACL 可以明确规定哪些用户或角色能够访问特定的资源,以及具有何种访问权限。
  • 身份验证机制:用于验证用户身份的方法和技术,如用户名 / 密码登录、多因素认证等。有效的身份验证是实现访问控制的基础,确保只有合法用户能够进入系统。
  • 授权检查:在用户请求访问资源或执行操作时,系统对用户的权限进行检查,以确定该用户是否具有相应的授权。这是防止访问控制漏洞的关键环节,需要在每个关键的操作点进行严格的授权验证。
  • 账户接管:攻击者通过利用失效的访问控制漏洞,获取用户的账户控制权,从而可以访问该用户的所有敏感信息,如个人资料、财务信息等,给用户带来严重的隐私泄露和财产损失。
  • 数据泄露:由于访问控制失效,攻击者能够非法访问系统中的敏感数据,导致数据泄露。这些数据可能包括用户密码、企业机密信息、客户资料等,对企业和用户的安全造成极大威胁。
  • 业务逻辑破坏:攻击者利用漏洞执行未授权的操作,可能会破坏系统的正常业务逻辑,例如非法修改订单状态、删除重要数据等,影响系统的正常运行和业务的正常开展。
  • 未完成任务:

    1.portswigger靶场SSRF模块6、7题

    2.漏洞防御措施

    3.漏洞典例

    4.Python自动化脚本

    5.poc

     

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器请求伪造漏洞(SSRF)及失效的访问控制漏洞
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!