查xss应重点追踪用户输入流向:innerhtml、outerhtml、document.write等动态插入dom的js调用,若参数含location.search、location.hash、localstorage或接口数据,即属高危;同时校验src/href赋值是否白名单限制协议。

直接看 DOM 渲染结果和用户输入流向,比通读 HTML 源码更高效;真正危险的不是语法错误,而是用户可控数据未经处理就进了 innerHTML、src、href 或事件属性里。
查 XSS:重点盯住动态插入 DOM 的 JavaScript 调用
DOM 型 XSS 往往藏在前端 JS 里,而不是 HTML 标签本身。浏览器控制台搜这几个关键词就能快速定位风险点:
-
innerHTML、outerHTML、document.write—— 只要参数含location.search、location.hash、localStorage.getItem或接口返回字段,基本就是高危点 -
eval、setTimeout、setInterval—— 如果第一个参数是拼接字符串(尤其含+或模板字面量),立刻检查来源 -
src=或href=被 JS 动态赋值 —— 比如img.src = userInput,必须确认是否做过协议白名单校验(只允https:、data:image/等)
查图片 src 漏洞:过滤 javascript: 和 data: 伪协议
<img src="..."> 看似无害,但若 src 值来自用户输入或后端未清洗的字段,可能触发 XSS 或 SSRF。排查时注意:
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
- 用浏览器开发者工具的 Elements 面板,展开所有
<img>标签,手动检查src属性值是否包含javascript:、vbscript:、data:text/html等非法协议 - 搜索 JS 文件中类似
img.src = ...或el.setAttribute('src', ...)的赋值语句,确认变量是否经过URL.canParse()或正则校验(如/^https?:\/\//i) - 服务端返回的 JSON 数据里若含图片 URL 字段,需同步检查后端是否对协议和域名做了白名单限制,不能只靠前端 JS 过滤
查可访问性硬伤:三处 HTML 源码级缺失无法靠 JS 补救
可访问性漏洞很多是静态 HTML 就定死的,运行时 JS 改不了。用 axe-core 快速扫一遍后,优先人工核对这三项是否写在源码里:
-
<img>标签是否都有非空alt属性(空alt=""是合法的,但alt缺失就是 violation) -
<button></button>、<a href></a>、自定义交互元素是否明确写了role(如role="button")或tabindex(仅当需要键盘聚焦时) - 页面根节点
是否有lang属性(如lang="zh-CN"),且值符合 BCP 47 标准
查隐藏敏感信息:别只盯着 visible 内容
很多安全线索藏在看不见的地方,右键“查看网页源代码”后 Ctrl+F 搜索这些位置:
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










