— 深入探讨跨域资源共享配置错误及其影响
📌 简介
在本文中,我将向您介绍如何在漏洞赏金目标上发现一个CORS 配置错误漏洞,并最终获得 $$$ 奖励。虽然 CORS 问题经常被忽视,但当它们与需要凭证的端点或敏感 API 数据结合时,可能会造成严重的安全风险。让我们深入了解我是如何发现、利用和报告此漏洞的,以及您如何也能做到。
🔍 什么是 CORS?
CORS(跨域资源共享)是一种浏览器机制,允许对位于给定域之外的资源进行受控访问。典型的配置错误可能会导致信任任意来源,或允许跨来源发送凭据(例如 Cookie 或令牌)。
如果实施不当,CORS 可能会允许恶意网站从另一个域读取敏感数据,从而导致严重的隐私或安全问题。
🧠 侦察兵
我从基本的子域名枚举开始,遇到了一个有趣的全子域名:
www.target.com api.target.com dev.target.com
我手动并使用curl
和等工具测试了这个端点httpie
,然后尝试使用Corsy和探测 CORS 错误配置curl
。
然后测试Corsy工具:
python corsy.py -u https://www.target.com/user/profile
这是我发送的测试curl请求:
我得到的答复是:
检查Burpsuite 的请求和响应:
检查核响应:
💥轰!这下可是个危险信号了。
🚩 为什么这很危险
- 端点以
Access-Control-Allow-Origin: https://evil.com
动态方式响应。 Access-Control-Allow-Credentials: true
已启用,这意味着将发送 cookie 或授权标头。- 当用户通过身份验证时,端点会返回敏感的用户信息,如电子邮件、姓名和内部 ID 号。
这使得我能够编写一个跨域 JavaScript 漏洞,该漏洞可以托管在恶意域上以劫持经过身份验证的数据。
那么如何利用这个 CORS 漏洞呢?想想看……!
然后用 Google 搜索并找到GitHub CORS PoC Generator的帮助。
只需转到GitHub CORS PoC 生成器,然后输入目标域端点并单击生成以弹出 json 格式的CORS Exploit Success。
最后我很高兴CORS 漏洞利用成功并获得了一些 Jusy用户信息
因此,检查 CORS 漏洞是否对我自己的域(或)攻击者的域有效
🧪 概念验证(PoC)
我创建了一个简单的 HTML 页面:
一旦登录的受害者访问此页面,他们的个人资料数据就会被泄露到我的 webhook 中。这表明存在严重的隐私侵犯。
攻击者域名漏洞响应:
📬 报告和响应
我提交了以下报告:
- PoC HTML代码
- 响应标头
- 捕获敏感数据
- 影响和 CORS 行为的解释
几天之内,我收到了回复:“已分类✅”。不久之后——最棒的是——一笔 $$$ 奖励出现在我的收件箱中。
✅ 最后的总结
- CORS 漏洞可能会造成很大影响,尤其是
Allow-Credentials: true
。 - 始终测试所有端点,即使它们看起来是“只读的”。
- 将其与身份验证和 cookie 结合起来以达到最大效果。
Corsy
使用诸如、或之类的工具curl
进行检测。
💡 专业提示
- 寻找通配符来源或
Origin
标题的反映。 - 请务必检查是否
Access-Control-Allow-Credentials
是true
。 - 验证敏感信息是否在没有适当的来源验证的情况下被泄露或处理。
🎉 结论
这是一个完美的例子,说明在漏洞赏金狩猎中,关注细节和理解浏览器安全机制会带来怎样的回报。永远不要低估 CORS!
告诉我你的想法,或者在评论区分享你的 CORS 故事!👇祝你狩猎愉快!🔍💰
我希望您很快就会喜欢这篇文章,并在下一篇文章中看到它。
感谢您花时间阅读我的文章。
原文始发于微信公众号(安全狗的自我修养):我如何利用错误配置的 CORS 漏洞赚取 $$$
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论