AdityaBhatt3010/CORS-vulnerability-with-trusted-null-origin
GitHub: AdityaBhatt3010/CORS-vulnerability-with-trusted-null-origin
一篇图文并茂的 Burp 实验室演练,演示如何利用 null 源 CORS 错误配置窃取管理员 API 密钥并给出缓解建议。
Stars: 11 | Forks: 0
# 信任 null 源的 CORS 漏洞
Burp 实验演示,展示了如何利用 null 源 CORS 错误配置来窃取管理员 API 密钥,并提供了实用的缓解建议。
# 太长不看 (TL;DR)
CORS 错误配置导致该实验站点信任了 `null` 源——我们使用了 iframe 沙箱 + 从漏洞利用服务器投递的精心构造的漏洞利用程序,来强制产生一个 `null` Origin,携带凭据获取 `/accountDetails`,并成功窃取了管理员的 API 密钥。实验解决。简单、犀利又利落。🗿✨
# 简介
CORS (跨源资源共享) 在后台控制着浏览器是否允许一个源读取另一个源的数据——当它被错误配置时,就成了攻击者的便利后门。在本演练中,我复现了 PortSwigger 实验中一个 `null` 源 CORS 错误配置,展示了一个与截图对应的分步 PoC,并解释了该漏洞利用的工作原理及其重要性。期待这篇简洁、有条理的指南以及实用的缓解步骤,让你能够同时学会攻击与防御。🗿
实验链接:[https://portswigger.net/web-security/cors/lab-null-origin-whitelisted-attack](https://portswigger.net/web-security/cors/lab-null-origin-whitelisted-attack)

# 什么是 CORS 及如何检测(简述) CORS (跨源资源共享) 控制哪些源可以通过浏览器的跨源请求访问资源。通过在 HTTP 历史记录中检查响应中的 CORS 头部(`Access-Control-Allow-Origin`、`Access-Control-Allow-Credentials`)可以快速检测。如果 ACAO 反映了不受控制的值(或接受 `null`),同时存在 `Access-Control-Allow-Credentials: true`,这就是一个危险信号——凭据可能会泄露给不受信任的上下文。 # 实验 PoC — 分步指南(附截图) ## PoC — 15 个精简步骤(详解) 1. 打开 Burp(或你的代理)并启用 FoxyProxy,以便浏览器流量通过 Burp 路由。
浏览网站时确保拦截处于关闭状态,以避免意外阻断请求。✅
2. 在配置好代理的浏览器中打开实验 URL,并使用 `wiener:peter` 登录。
使用实验内置用户,以便环境模拟真实的认证会话。🔐
![]()
# 什么是 CORS 及如何检测(简述) CORS (跨源资源共享) 控制哪些源可以通过浏览器的跨源请求访问资源。通过在 HTTP 历史记录中检查响应中的 CORS 头部(`Access-Control-Allow-Origin`、`Access-Control-Allow-Credentials`)可以快速检测。如果 ACAO 反映了不受控制的值(或接受 `null`),同时存在 `Access-Control-Allow-Credentials: true`,这就是一个危险信号——凭据可能会泄露给不受信任的上下文。 # 实验 PoC — 分步指南(附截图) ## PoC — 15 个精简步骤(详解) 1. 打开 Burp(或你的代理)并启用 FoxyProxy,以便浏览器流量通过 Burp 路由。
浏览网站时确保拦截处于关闭状态,以避免意外阻断请求。✅
2. 在配置好代理的浏览器中打开实验 URL,并使用 `wiener:peter` 登录。
使用实验内置用户,以便环境模拟真实的认证会话。🔐
标签:ACAO, API密钥窃取, Burp Suite, CISA项目, CORS跨域漏洞, CORS配置错误, HTTP请求头, iframe沙箱, Null Origin, PoC, PortSwigger, Web安全, XSS, 暴力破解, 漏洞复现, 漏洞情报, 网络安全, 蓝队分析, 跨站请求伪造, 隐私保护