CORS 跨域资源共享配置错误完整指南:Allow-Origin/*/反射Origin/凭证泄露,含攻击方法和防御加固。
写在前面:合法学习边界
CORS 测试只在授权测试环境进行。
一、CORS 配置错误

1
2
| Allow-Origin: * + Allow-Credentials: true = 凭证泄露
反射 Origin:不校验可信域名
|
二、攻击方式
1
2
| 构造恶意页面 → 携带 Cookie 请求目标 API
→ 浏览器允许跨域 → 读取响应内容
|
三、验证命令
1
2
| curl -H "Origin: http://evil.com" http://target/api
# 查看返回头中的 Access-Control-Allow-*
|
四、防御方法
1
2
3
4
| 白名单:只允许可信域名列表
凭证保护:SameSite=Strict Cookie
API 安全:敏感 API 要求 HTTPS + Token 认证
监控:记录 Origin 请求日志 · 异常告警
|
五、小结
CORS 配置错误的核心是信任了不可信的 Origin。防御核心是白名单校验 + 禁止 * + Credentials 组合。