CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
realtime-collaboration-platform 项目在其 Appwrite 后端配置中存在 CORS 配置错误。
服务器:
这种组合允许攻击者控制的域名:
这导致以下信息泄露:
后端未能正确验证和限制 Origin 请求头。
错误配置:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
或者动态反射任意来源。
这违反了 CORS 安全原则,因为:
浏览器仅当来源被明确信任时才允许携带凭据的跨域请求。
而该应用却信任 任意来源,从而形成了跨域数据外泄的途径。
| 影响领域 | 影响 |
|---|---|
| 机密性 | 高 |
| 完整性 | 无 |
| 可用性 | 无 |
| 影响范围 | 已改变 |
攻击者可以:
无需任何直接权限。
这使其成为一种强大的客户端攻击,具有实际利用潜力。
fetch("https://target-appwrite-endpoint/v1/account", {
credentials: "include"
})
.then(res => res.json())
.then(data => {
console.log("Exfiltrated:", data);
});
如果受害者已登录,其会话 Cookie 会被自动包含在请求中。
由于 CORS 配置过于宽松,攻击者可以读取响应内容。
正确的缓解措施需要:
正确配置示例:
Access-Control-Allow-Origin: https://trusted-domain.com
Access-Control-Allow-Credentials: true
或者:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: false
CORS 配置错误 + 凭据 = 数据泄露。
切勿允许:
* + credentials=true