用途:该技能针对跨站脚本(XSS,CWE-79)这一严重级别的安全反模式,供在生成或审查会渲染 HTML、处理用户输入的 Web 代码时使用,帮助识别并规避 XSS 缺陷。
主要能力:覆盖三类 XSS。反射型 XSS 指用户输入立即回显到响应中;存储型 XSS 指恶意脚本被存入服务端(如数据库)并在每次访问时输出;DOM 型 XSS 指漏洞存在于客户端代码中。对每类均给出 BAD 与 GOOD 代码示例,并列出检测与预防要点。
必要用法:渲染前对所有不可信数据做 HTML 编码,使用 htmlspecialchars(PHP)、escape(Python Flask)或模板引擎自动转义(Jinja2、Handlebars);采用上下文相关编码,区分 HTML 正文、属性、JavaScript、URL、CSS;必须允许富 HTML 时使用成熟净化库(如 DOMPurify),不要自写净化器;在 JavaScript 中插入用户字符串时用 textContent 而非 innerHTML;部署严格的内容安全策略(CSP)作为纵深防御;辅以输入验证收敛攻击面。检测方式包括代码审查(关注 echo、print、innerHTML、document.write()、insertAdjacentHTML()、关闭自动转义的模板、字符串拼接构造 HTML)与动态测试(在各输入点注入常见 payload 并观察是否回显或存储执行)。
适用场景:Web 应用的输出渲染、评论等用户内容存储与展示、前端 DOM 操作与 URL 参数处理等代码生成和评审环节。
限制:资料未提供该技能的安装命令、运行平台、收费与价格信息,亦未给出性能或效果数据;引用的相关反模式与 OWASP、CWE、CAPEC 资料仅供延伸阅读。