漏洞总结:DNS Rebinding Attack Bypasses Network Restrictions to Access Local API 漏洞概述 该漏洞存在于 项目中,由于服务器未对请求的 头进行任何验证,攻击者可以通过 DNS 重绑定(DNS Rebinding)技术绕过浏览器的同源策略,读取本地 API 的敏感数据(如 Copilot Bearer Token)。 核心原因: 1. 缺少 Host 头验证: 服务器接受任意 头的请求。 2. 宽松的 CORS 策略: 服务器配置了 ,允许所有来源访问。 3. 绑定所有接口: 服务默认绑定到所有网络接口。 影响范围 受影响组件: (lines 12-15) 受影响版本: 0.7.0 及更早版本 CVSS 评分: 11 (Critical) 风险描述: 攻击者可以劫持受害者的浏览器,通过恶意网页读取本地运行的 Copilot API 数据,窃取认证令牌。 修复方案 1. 验证 Host 头: 在中间件或路由层增加对 头的白名单校验,拒绝非预期的 Host 请求。 2. 限制 CORS 策略: 避免使用 ,应明确指定允许的源。 3. 限制监听地址: 除非必要,否则不要将服务绑定到 ,建议绑定到 。 概念验证代码 (PoC) 1. 验证 Host 头未验证 (curl 命令) 2. HTTP 请求示例 (Burp Suite) 3. 完整利用脚本 (poc_04_nc_version.html) 此脚本用于在浏览器中执行 DNS 重绑定攻击并窃取 Token。