休闲

跨站脚本漏洞危害

时间:2010-12-5 17:23:32  作者:综合   来源:热点  查看:  评论:0
内容摘要:去年某电商平台被曝出一个XSS漏洞,攻击者把恶意脚本塞进商品评论区。用户点开评论,脚本就在浏览器里执行,cookie直接被发到境外服务器。整个过程用户毫无感知——页面正常显示,评论正常加载,只是账号已

去年某电商平台被曝出一个XSS漏洞,跨站攻击者把恶意脚本塞进商品评论区。脚本用户点开评论,漏洞脚本就在浏览器里执行,危害cookie直接被发到境外服务器。跨站整个过程用户毫无感知——页面正常显示,脚本评论正常加载,漏洞只是危害账号已经易主。这不是跨站孤例,XSS常年位居OWASP Top 10,脚本但很多人对它的漏洞危害认知仍停留在“弹个alert框”的水平。

弹窗只是危害概念验证。真实攻击里,跨站脚本能做的脚本事远超想象。它跑在受害者的漏洞浏览器里,和网站自身代码拥有同等权限。这意味着攻击者可以读取页面上的任何数据,包括登录凭证、支付信息、私信内容。更麻烦的是,它还能以受害者身份发起操作——转账、改密码、发帖,服务器端看到的请求完全合法。

我跟踪过一个论坛的XSS事件。攻击者注入的脚本只有三行,却悄悄替换了页面上的“发帖”按钮。用户点击后,帖子内容被篡改,附带钓鱼链接。三天内,上千条恶意帖子被发布,论坛信誉跌到谷底。管理员事后复盘,发现漏洞出在一个未过滤的URL参数上。修复只花了几分钟,但清理影响用了两周。

存储型XSS的杀伤力最大。恶意代码被存进数据库,每个访问页面的用户都会中招。反射型XSS需要诱骗点击,DOM型XSS则完全在客户端触发,服务器日志里连痕迹都没有。三种类型里,存储型最像“慢性毒药”——一次注入,持续收割。

有人觉得XSS只能偷cookie,现在HttpOnly标志普及了,危害没那么大。但HttpOnly只保护cookie不被JavaScript读取,脚本依然能发起请求。攻击者可以构造表单提交、调用API、甚至利用CSRF token。浏览器信任页面上的脚本,这个信任关系一旦被劫持,所有基于同源策略的防护都形同虚设。

更隐蔽的玩法是XSS蠕虫。2005年MySpace的Samy蠕虫,一天内感染百万账号。脚本自动发送好友请求、复制自身到用户主页。整个过程不需要用户点击任何链接,只要访问被感染页面就会触发。现代前端框架虽然默认转义,但危险API如innerHTML、eval、document.write仍在大量使用。开发者一个疏忽,蠕虫就可能复活。

企业常把XSS当低危漏洞处理,觉得“只是前端问题”。但攻击链往往从XSS开始:先拿普通用户权限,再横向移动到管理员,最后拿下服务器。某云服务商曾因XSS导致管理后台被控,攻击者直接操作了数千台虚拟机。前端漏洞成了后端的入口。

防御没有银弹。输出编码要按上下文区分HTML、JS、CSS、URL,CSP策略能拦住大部分内联脚本,但配置复杂。最有效的办法还是把用户输入当敌人——所有输出都转义,所有输入都验证。听起来老生常谈,但每年新出的漏洞报告里,XSS依然占三成以上。工具能扫出已知模式,逻辑漏洞还得靠人看代码。安全这行,偷懒迟早要还。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap