SuperAPI AI 工具集

xss-prevention

安全与审计

查看项目

更新于 10-15 23:49

技能介绍

用途:用于在渲染用户输入、进行 DOM 操作或开发前端页面时防范跨站脚本(XSS)攻击,对应 OWASP A07。适用场景包括展示用户生成内容、构建动态 HTML、富文本编辑器、渲染 Markdown 或 HTML、处理页面 URL 参数以及搜索结果页。

主要能力:资料区分三类 XSS——反射型(URL 参数)、存储型(数据库内容)、DOM 型(客户端 JS,如 document.write(location.hash));列出脆弱写法,如服务端直接插值 req.query.q、客户端 element.innerHTML、document.write、eval、jQuery html()、React dangerouslySetInnerHTML。安全实现包括:HTML 实体编码的 escapeHtml、上下文感知编码(html、attr、js、url、css 不同编码器)、CSP 头(helmet.contentSecurityPolicy 配置,scriptSrc 不用 unsafe-inline,可用 nonce)、DOMPurify 净化 HTML 与富文本、React 与 Vue 安全模式(默认自动转义,必须先净化再 dangerouslySetInnerHTML/v-html)、URL 校验(阻止 javascript: 等协议)。

使用方式:按上下文选择编码器输出;配置 CSP 响应头;用 DOMPurify.sanitize 处理用户 HTML;通过白名单限制标签与属性。框架建议:Express/Node 用自动转义模板与 helmet,Django 模板默认转义(谨慎用 |safe),Rails ERB 默认转义(谨慎用 raw/html_safe),Laravel Blade 用 {{ }}(谨慎用 {!! !!})。

限制与注意:文档未提供收费、平台或性能等信息;DOMPurify 服务端使用需配合 jsdom。测试可参考给出的 XSS payload 与 Burp Suite、OWASP ZAP、XSStrike(python xsstrike.py -u "http://target.com/search?q=test")。最佳实践包括输出编码、CSP、HTML 净化、URL 校验、HttpOnly Cookie、利用框架自动转义。