WSTG 实战|客户端测试(4.11 / CLNT)

有些漏洞在”浏览器里”发作,服务器从没见过请求。WSTG 4.11 v5.0 扩展到 15 个子项(含子项),新增 CSS 注入、跨站闪烁、反向标签劫持、客户端模板注入。

① 是什么

客户端测试 检查在用户浏览器中发生的漏洞:DOM XSS、JS 执行、HTML/CSS 注入、重定向、CORS、点击劫持、WebSockets、Web Messaging、浏览器存储等。

WSTG 类别码:CLNT

② 为什么重要

  • 客户端漏洞直接危害真实用户,且常绕过服务端防护。
  • DOM 型问题数据只在客户端流动,传统扫描易漏,需浏览器内分析。

③ 核心概念拆解(对应 4.11.x / WSTG-CLNT-01 到 -15)

ID 测试项 关键点
4.11.1 / WSTG-CLNT-01 测试基于 DOM 的 XSS Source(location.*/document.referrer/postMessage)→ Sink(innerHTML/eval/document.write/jQuery.html)链路追踪、DOM Invader
4.11.1.1 / WSTG-CLNT-01.1 测试自 DOM XSS 单页面内 Source→Sink、无服务端交互、Hash 路由、SPA 框架内部
4.11.2 / WSTG-CLNT-02 测试 JavaScript 执行 eval/Function/setTimeout/setInterval/new Function 动态代码、模板字符串、JS 模板引擎
4.11.3 / WSTG-CLNT-03 测试 HTML 注入 innerHTML/outerHTML/insertAdjacentHTML/document.write 注入标签/属性/事件
4.11.4 / WSTG-CLNT-04 测试客户端 URL 重定向 location.href/assign/replacewindow.opena[href]meta refresh、开放重定向参数
4.11.5 / WSTG-CLNT-05 测试 CSS 注入 选择器注入、属性值注入、@importurl()expression()、CSS Exfiltration、CSS Keylogger
4.11.6 / WSTG-CLNT-06 测试客户端资源操纵 localStorage/sessionStorage/IndexedDB/Cookies/Cache API 篡改、污染缓存
4.11.7 / WSTG-CLNT-07 测试跨域资源共享 (CORS) Access-Control-Allow-Origin 反射/通配符、凭证模式、预检缺失、子域/正则宽泛
4.11.8 / WSTG-CLNT-08 测试跨站闪烁 (Cross-Site Flashing) Flash 历史漏洞、SWF 加载、allowScriptAccessExternalInterface、现代替代(WebAssembly)
4.11.9 / WSTG-CLNT-09 测试点击劫持 X-Frame-Optionsframe-ancestors、UI Redress、多层 iframe、拖拽劫持、光标劫持
4.11.10 / WSTG-CLNT-10 测试 WebSockets 握手源校验、消息验证、敏感数据传输、重连攻击、DoS、未授权广播
4.11.11 / WSTG-CLNT-11 测试 Web Messaging postMessage 目标源校验、消息内容验证、敏感数据泄露、事件监听器污染
4.11.12 / WSTG-CLNT-12 测试浏览器存储 localStorage/sessionStorage/IndexedDB/Cache API 存敏感数据、无加密、XSS 可读、持久化风险
4.11.13 / WSTG-CLNT-13 测试跨站脚本包含 (XSSI) JSONP 回调劫持、动态脚本加载、数组/对象字面量泄露、原型污染链
4.11.14 / WSTG-CLNT-14 测试反向标签劫持 target="_blank"rel="noopener"window.opener 篡改、标签页劫持、历史记录操纵
4.11.15 / WSTG-CLNT-15 测试客户端模板注入 AngularJS/React/Vue/Svelte 模板表达式注入、沙箱逃逸、CSP 绕过、AST 分析

④ 常见误区

  • 误区 1:服务端过滤了就安全。DOM XSS 数据可能只走客户端。
  • 误区 2:没弹窗=没 XSS。看 source→sink 链路比等弹窗更准。
  • 误区 3:CSP 万能。配置不当仍可绕过。

⑤ 一句话小结

客户端测试在浏览器内发作:DOM XSS、注入、重定向、CORS、点击劫持、WebSocket、存储、反向标签劫持、客户端模板注入——用浏览器内分析追 source→sink。

下一篇:API 安全测试(4.12 / APIT)

参考来源:OWASP Web Security Testing Guide(最新 v5.0 / 2026 开发线)(本文为原创讲解,非转载原文)


This site uses Just the Docs, a documentation theme for Jekyll.