官网:http://securitytech.cc/
从图片上传到工作区接管:解析一次关键的存储型 XSS 攻击

这张“图片”入侵了公司工作区
一个看似无害的功能——文件上传——在 Dust 平台的最近一次漏洞中,成为了完全接管工作区的入口。此案例提醒我们,经典的存储型跨站脚本(Stored XSS)漏洞,结合架构疏忽,可能导致严重后果,包括权限升级和完全的管理控制。
攻击链解析 ⛓️
此次攻击的巧妙之处在于其简单性,以及将几个看似微小的漏洞串联成高影响的利用链。它不需要复杂代码或密码窃取,只需要用户点击一个链接即可。
按回车或点击查看全尺寸图片

攻击链:从一次点击到全面接管
分步解析如下:
- 伪装的恶意文件上传:攻击者以低权限成员身份登录,上传了名为
xss_poc.png的文件,但请求被篡改,将Content-Type设置为text/html。系统验证未能发现这一不匹配,优先使用声明的内容类型而非文件扩展名。 -
- 同源托管:上传的 HTML 文件被托管在主应用域名 (
dust.tt) 下。这是关键错误。用户生成内容与核心应用同源,允许文件内的任意脚本在应用的信任安全上下文中执行。
- 同源托管:上传的 HTML 文件被托管在主应用域名 (
-
- 诱饵:攻击者将上传文件的直接 URL 分享给工作区管理员。管理员看到的只是同事共享的一张图片链接。
-
- 静默执行:当管理员访问链接时,浏览器没有渲染图片,而是识别
text/html类型并执行文件中的 JavaScript。由于脚本在dust.tt域下运行,它自动继承了管理员的会话权限。
- 静默执行:当管理员访问链接时,浏览器没有渲染图片,而是识别
-
- API 驱动接管:JavaScript 有意静默调用 API。它首先获取工作区 ID,然后向管理成员的 API 发送
POST请求,将攻击者账号提升为“管理员”角色。操作在后台无声进行,使用受害者的活跃会话,管理员完全不知情。
- API 驱动接管:JavaScript 有意静默调用 API。它首先获取工作区 ID,然后向管理成员的 API 发送