研究人员发现 70 个 Web 缓存中毒漏洞,涉及 GitHub/GitLab/oschina 平台


安全研究员 Iustin Ladunca(Youstin)近期针对许多网站(包括一些高流量的在线服务)进行了调研,结果发现了 70 个具有不同影响的缓存中毒漏洞。

根据介绍,Web 缓存中毒攻击的目标是网络服务器和客户端设备之间的中间存储点,如 point-of-presence servers、代理和负载均衡器。中间商通过存储本地版本的 Web 内容来加快向 Web 客户端的传送速度,从而帮助提高网站的性能。Web  缓存中毒攻击操纵了缓存服务器的行为,以及它们如何响应客户的特定 URL 请求。

Ladunca 自 2020 年 11 月开始研究 Web 缓存中毒;然而仅仅几周后,他就发现了两个新的缓存中毒漏洞:“这让我意识到缓存中毒的攻击面有多大”。他在一篇博客中详细介绍了自己是如何发现和报告网络缓存漏洞的,其中包括有 Apache Traffic Server、GitHub、GitLab、HackerOne 和 Cloudflare 以及其他服务器。

“一种常见的模式是缓存服务器被配置为只缓存静态文件,这意味着攻击只限于静态文件。即便如此,仍然有很大的影响,因为现代网站严重依赖 JS 和 CSS,删除这些文件会真正影响应用程序的可用性。”

多个 Web 缓存漏洞导致拒绝服务(DoS)攻击。缓存服务器使用一些 headers 作为 keys 来存储和检索 URL 请求。通过在 unkeyed headers 中使用无效值,Ladunca 能够强制服务器缓存错误响应,并在之后提供这些响应而不是原始内容,这会使得客户无法访问目标网页。

“就所使用的技术而言,迄今为止最常见的是通过 unkeyed headers 进行 CP-DoS,这可能占总发现的 80%。”

其他 Web 缓存中毒漏洞可能会导致跨站点脚本(XSS)攻击。例如,一个漏洞可以强制缓存服务器将 JavaScript 文件请求转发到攻击者控制的地址。在另一种情况下,Ladunca 还能够将缓存请求从一个主机重定向到另一个容易受到基于 DOM 的 XSS 攻击的主机。

Ladunca 因其发现的 70 个网络缓存漏洞,而获得了总计约 4 万美元的漏洞赏金。同时,他也分享了一些相关经验表示,确保 CDN 免受缓存中毒攻击的一个好方法是禁用错误状态代码的缓存,他认为这种缓解措施应该能阻止很大一部分的 CP-DoS 攻击。还建议使用 PortSwigger 的 Param Miner,这是一个开源工具,可以识别隐藏的、未链接的参数。针对 Web 应用程序运行 Param Miner 可以帮助检测可用于 Web 缓存中毒的 unkeyed headers。

不过 Reddit 上有网友对 Ladunca 的建议进行了反驳称,“禁用错误状态代码的缓存”绝对不是一个可行的解决方案。并指出,如果禁用错误状态代码的缓存,处理错误响应的每个请求都会返回到 origin,从而有效地创建了一个错误率不断增加的 DDoS 攻击;这将使得 origin offline,直到有人干预。


相關推薦

2022-05-09

循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能 平台定位 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决方

2022-02-21

的标准期限以及 14 天的宽限时间来解决安全问题。研究发现,开源程序员平均只用 25 天就修复了 Linux 问题。与此同时,苹果则花了 69 天、谷歌花了 44 天、Mozilla 花了 46 天来修复了漏洞。排在最后的是微软 83 天,和甲骨文 109

2023-12-29

batis-plus-generator 自定义 API 网关:Gateway 服务注册 & 发现和配置中心: Nacos 服务消费:OpenFeign 负载均衡:Ribbon 服务熔断:Hystrix 项目构建:Maven 分布式事务: seata 分布式系统的流量防卫兵: Sentinel 监控: spring-boo

2022-11-30

的员工可能会无意中共享密码并使设备不受保护。 数据中毒:数据中毒是进入企业系统的新攻击媒介。 新技术:一些组织正在采用生物识别等新技术。这些技术带来了巨大的好处,但它们也引入了新的安全风险,因为 IT 对

2022-08-29

用,也是为了增加透明度,并接受来自外部的贡献。希望研究人员发现并报告加密漏洞后,将检查添加到库中。这样一来,Google 和其他使用者就可以快速应对新的威胁。 Paranoid 项目包含 ECDSA 签名以及 RSA 和 EC 公钥的检查,并

2021-11-18

示,有 300% 的测试目标存在某种形式的漏洞,36% 的测试发现了高危或严重漏洞;还有 76% 发现的漏洞属于 OWASP Top 10 类别,而应用程序和服务器配置错误占所发现的整体漏洞的 21%。 在移动应用程序中,150% 的已发现漏洞与不安

2023-02-25

的 1703 个代码库中,共有 96% 包含开源代码。 一些主要发现包括: 五年间开源使用显着增长:全球大流行促进了教育技术部门对开源的采用,实现 163% 增长。其他经历开源增长大幅飙升的行业包括航空航天、航空、汽车、运

2022-05-26

循SpringBoot编程思想,高度模块化和可配置化。具备服务发现、配置、熔断、限流、降级、监控、多级缓存、分布式事务、工作流等功能 平台定位 构建成熟的、完善的、全面的,基于 OAuth2 的、前后端分离的微服务架构解决

2024-03-05

batis-plus-generator 自定义 API 网关:Gateway 服务注册 & 发现和配置中心: Nacos 服务消费:OpenFeign 负载均衡:loadbalancer 服务熔断:sentinel 项目构建:Maven 分布式事务: seata 分布式系统的流量防卫兵: Sentinel 监控: spr

2024-04-04

batis-plus-generator 自定义 API 网关:Gateway 服务注册 & 发现和配置中心: Nacos 服务消费:OpenFeign 负载均衡:loadbalancer 服务熔断:sentinel 项目构建:Maven 分布式事务: seata 分布式系统的流量防卫兵: Sentinel 监控: spr

2022-10-15

平台涵盖了上报漏洞的全生命周期管理,致力于拓宽漏洞发现渠道,增强面对未知信息安全风险的能力。   开放麒麟漏洞管理平台:是SecurityCommittee SIG组为切实履行自身职能,提高漏洞监控与响应修复能力而自主研发

2023-09-09

-plus-generator 自定义 API 网关:Gateway/zuul 服务注册 & 发现和配置中心: Nacos 服务消费:OpenFeign 负载均衡:Ribbon 服务熔断:Hystrix 项目构建:Maven 分布式事务: seata 分布式系统的流量防卫兵: Sentinel 监控: spring-boo

2022-11-15

与过去相比,Web 开发人员能接受的框架数量日益减少;研究人员认为,开发者正在减少实验,变得更加坚持使用他们所已知和有效的东西。React 是目前使用最广泛的客户端框架;在过去两年中,React 的采用率一直保持稳定。相

2023-12-08

batis-plus-generator 自定义 API 网关:Gateway 服务注册 & 发现和配置中心: Nacos 服务消费:OpenFeign 负载均衡:Ribbon 服务熔断:Hystrix 项目构建:Maven 分布式事务: seata 分布式系统的流量防卫兵: Sentinel 监控: spring-boo