我是如何发现一个web缓存欺骗漏洞的?
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。
缓存
我们在Web应用程序中有多种缓存:
浏览器缓存
服务器缓存(CDN/负载均衡/反向代理)
缓存是一组静态资源(图片、样式、脚本、HTML、txt等)的集合,它们存储在浏览器(在您的计算机磁盘上)、服务器或两者上,以提高站点的页面速度和减少服务器延迟。但如果没有适当的安全保护,它也可能带来安全风险。
为什么我们不缓存动态文件或端点?
考虑一个包含私人信息的用户个人资料端点。由于每个用户的信息都是唯一的,因此我们不应该缓存动态端点。如果我们缓存一个用户个人资料端点,那么所有用户都会看到与第一个访问个人资料页面的用户相关的用户信息相同。
什么是Web缓存欺骗漏洞
这种漏洞是在一个网站依赖缓存来加速向用户提供内容时出现的。一般来说,缓存服务器的工作原理是存储最近访问过的页面,使得随后对相同内容的请求能够快速检索。
在Web缓存欺骗攻击中,攻击者可以利用网站缓存机制中的漏洞,导致缓存存储其他用户的敏感信息。
正文
首先用subfinder做一个信息搜集:
subfinder-d notsafe.shop-all
Subfinder为我找到了大约11个子域名,URL:app.notsafe.shop感觉可能存在漏洞。
登录后,我使用Burp捕获了所有的请求,但是没有发现任何问题,由于之前看过相关文章,于是想到了在目标网站上测试缓存欺骗,
因此,首先,我需要一个包含敏感数据的端点。回到Burp,检查端点。最后,我找到了一个名为/api/user/info的端点,其中包括一个API密钥和其他详细信息。接下来,我必须测试一下,确保服务器是否可以缓存它。
为了测试,在浏览器中,我打开了这个链接"/api/user/info.min.css",并检查响应头。响应头返回了x-cache:hit和状态码200,以及相同的正文。
由于/api/user/info和/api/user/info.min.css具有相同的主体,我们可以将/api/user/info.min.css发送到目标并缓存它们的数据。

我是如何发现一个web缓存欺骗漏洞的?
结果,提交之后,发现重复了,无所谓,已经学到姿势了
暂无评论