漏洞针对 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”:
第三步:在验证当前经过身份验证的用户对此请求的响应或访问任何不存在的目录后,你将在响应包中获得 PII 信息:
第四步:现在我们知道任何不存在的目录都会抛出 404 Oops 页面,但响应包包含 PII 信息。
要验证此漏洞,需连续发送步骤1中的请求,以便可以使用 Burp Suite Intruder 等工具测试缓存在服务器上特定 URL 的响应,将Payloads设置为 null,并输入 500 个数字。
第五步:同时运行上述请求时 – 通过专用会话浏览器或使用 Burp Repeater(建议使用 Intruder)向 https://www.redacted.com/favicon.ico?agilehunt=13337 发送新请求,无需任何 Cookie或授权Token,但响应包中却包含了缓存的 PII 数据。
利用该漏洞攻击者可以访问并可能滥用 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
如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品
https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374
技术交流请加笔者微信:richardo1o1 (暗号:growing)