当前位置: 首页 > 文章 > Web安全 > 正文

XSS 跨站脚本:原理、利用链与完整防护

admin 2026-10-26 17:21 51人看过 免费
## 原理 浏览器把攻击者注入的字符串当作**脚本执行**。本质是「HTML/JS 上下文中未正确区分数据与代码」。 | 类型 | 存储位置 | 触发方式 | |------|----------|----------| | 反射型 | 多在 URL/请求参数,经服务端回显 | 诱导点击恶意链接 | | 存储型 | 写入数据库/文件后对所有访客回显 | 访问含毒页面即中 | | DOM 型 | 前端用 `location` 等直接改 DOM | 客户端脚本处理不当 | ## 典型入侵过程 1. 找到反射或存储点(评论、昵称、工单、错误页)。 2. 构造可执行 payload(需绕过过滤/长度限制时做变形)。 3. 诱导受害者浏览器执行(链接、嵌入站内消息)。 4. **会话窃取**:读取非 HttpOnly Cookie;或伪造操作(改密、转账)。 5. **持久化**:存储型 XSS 相当于「挂马在业务里」。 6. 结合 CSRF / 钓鱼扩大战果。 ## 防御要点 1. **按上下文输出编码**:HTML 文本、属性、JS 字符串、URL 编码规则不同。 2. **HttpOnly + Secure + SameSite** 保护会话 Cookie。 3. **CSP**:限制脚本来源,减少内联脚本。 4. 富文本:白名单标签/属性消毒,禁止 `javascript:`。 5. 勿用 `innerHTML` 拼接不可信数据;优先 `textContent`。 ## 修复验证 修复后用原 payload 回归;同时检查 DOM 型(纯前端路由参数)。

附件资料

附件仅对登录用户可见,请先 登录。

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载或以其他方式使用本站原创内容。