凌晨两点,某电商平台的安全工程师老张收到告警:一个普通商品页的评论框里,出现了``。他没当回事——这种老掉牙的反射型XSS,早该被WAF拦了。可三分钟后,后台显示有37个账号在异地登录,其中12个是VIP。问题不在评论框,在于那个“用户昵称”字段——它被存储后,直接拼进了管理后台的HTML里,没转义。
这就是XSS最阴险的地方。你以为它只是弹个窗、改个页面?错了。它真正的杀伤力,是让攻击者**以你的身份**执行操作。你登录着银行,他拿到你的会话cookie,转走余额;你是管理员,他借你的权限删库跑路。偷数据是低级玩法,冒充你才是高级玩法。
我见过最骚的操作,是一个论坛的“个性签名”功能。攻击者把payload写进签名,管理员审核时没细看——因为签名里那段``被渲染成了图片裂开的小图标。管理员点了“通过”,结果触发onerror,弹窗里是他的管理会话token。整个过程不到5秒,零交互,纯被动触发。这哪是注入?这是钓鱼执法。
为什么到现在还有XSS?根子上是**信任边界模糊**。开发者默认用户输入是“数据”,可浏览器把它当“代码”执行。你写个`加粗`,它真给你加粗了,那写个`