Web 缓存欺骗:在意想不到的地方发现漏洞

admin 2023年9月13日12:22:05评论46 views字数 1405阅读4分41秒阅读模式

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。


文章首发于个人博客:https://mybeibei.net,点击最下方“阅读原文”可直接跳转查看。


漏洞描述

漏洞针对 https://redacted.com/anynonexisting URL 端点的 Web 缓存欺骗攻击。

通过操控缓存机制,未经授权的用户可以访问敏感的个人身份信息 (PII),例如姓名、电话号码、电子邮件地址、用户 ID 以及加密的 IP 地址。

在渗透评估目标期间,虽然服务器实施了限制,防止对响应中包含会话令牌或数据的 API/Web 端点进行 Web 缓存欺骗攻击。

但不幸的是,在其 /404 或 /nonexistingurl 页面上并没有实施相同的防护措施,从而在这些端点的响应包中获得了 PII 信息。

风险分析

  • 风险级别:

  • 利用难度:

漏洞复现

第一步:假设你本身是受害者,已登录该网站并导航至 https://www.redacted.com/favicon.ico?agilehunt=13337 页面

第二步:观察到请求的响应将“cache-control”设置为public,并且该请求的响应访问两次后被缓存为“HIT”:

Web 缓存欺骗:在意想不到的地方发现漏洞

第三步:在验证当前经过身份验证的用户对此请求的响应或访问任何不存在的目录后,你将在响应包中获得 PII 信息:

Web 缓存欺骗:在意想不到的地方发现漏洞

第四步:现在我们知道任何不存在的目录都会抛出 404 Oops 页面,但响应包包含 PII 信息。

要验证此漏洞,需连续发送步骤1中的请求,以便可以使用 Burp Suite Intruder 等工具测试缓存在服务器上特定 URL 的响应,将Payloads设置为 null,并输入 500 个数字。

Web 缓存欺骗:在意想不到的地方发现漏洞

第五步:同时运行上述请求时 – 通过专用会话浏览器或使用 Burp Repeater(建议使用 Intruder)向 https://www.redacted.com/favicon.ico?agilehunt=13337 发送新请求,无需任何 Cookie或授权Token,但响应包中却包含了缓存的 PII 数据。

Web 缓存欺骗:在意想不到的地方发现漏洞


漏洞影响

利用该漏洞攻击者可以访问并可能滥用 PII 数据,从而导致隐私侵犯、身份窃取以及其它恶意活动。

模糊的 UserID 值泄漏使攻击者能够将该漏洞与其它漏洞(例如 IDOR 攻击)进行组合,以获得对敏感资源的未经授权访问、操纵数据,甚至造成重大损害。

防御建议

  • 检查和更新缓存控制:确保在所有 Web 端点(包括 /404 页面)上正确配置缓存控制。实施缓存策略,防止敏感 PII 数据存储在缓存中提供给未经授权用户。

  • 实施身份验证检查:对可能访问 PII 数据的所有请求实施身份验证检查。只有经过身份验证和授权的用户才有权访问敏感信息。

  • 增强错误处理:自定义 /404 页面和任何其它不存在的 URL 端点的错误处理。避免在错误响应中显示敏感数据,或是提供通用的错误消息。

原文出处:https://blog.agilehunt.com/blogs/security/web-cache-deception-attack-on-404-page-exposing-pii-data-to-unauthenticated-users

由骨哥翻译并整理。

感谢阅读,如果觉得还不错的话,欢迎分享给更多喜爱的朋友~

====正文结束====

原文始发于微信公众号(骨哥说事):Web 缓存欺骗:在意想不到的地方发现漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年9月13日12:22:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Web 缓存欺骗:在意想不到的地方发现漏洞https://cn-sec.com/archives/2032863.html

发表评论

匿名网友 填写信息