XSS漏洞分析
XSS 的本质是:用户输入被当成页面代码执行了。它发生在浏览器里,但根源常常是服务端或前端没有区分“数据”和“代码”。
类型与场景
| 类型 | 特点 | 常见位置 |
|---|---|---|
| 反射型 XSS | 输入随请求返回,通常不持久 | 搜索、错误页、URL 参数 |
| 存储型 XSS | 输入被保存,其他用户访问时触发 | 评论、昵称、公告、工单 |
| DOM 型 XSS | 前端脚本处理输入时触发 | location、Hash、前端路由 |
只要用户可控内容进入 HTML、属性、JavaScript、CSS、URL 等上下文,都要考虑对应的输出编码是否正确。
影响范围
XSS 可以读取页面中的敏感信息,代替用户发起操作,篡改页面内容,诱导钓鱼,或配合其他漏洞扩大影响。后台、运营系统、富文本编辑器和消息通知区域尤其需要重视。
防护要点
按输出上下文进行编码,避免把不可信内容直接写入 innerHTML 等危险位置。富文本使用成熟清洗库,Cookie 设置 HttpOnly,关键站点配置 CSP,并在服务端保留必要的输入校验和审计。