前端路由把地址参数写入页面与跳转目标时,如何阻断从数据注入到脚本执行的完整攻击链?
简答题中等769 次浏览
参考答案与解析
# 核心结论
阻断完整攻击链不能依赖统一的“危险字符过滤”,而要追踪不可信数据从地址参数进入程序、经过转换,最终到达浏览器解释上下文的全过程。路由查询参数、路径参数、片段标识、接口字段、postMessage 和本地存储内容都应视为不可信。用于展示时写入文本节点;用于跳转时通过 URL 解析并限制协议、主机、端口和路径;必须展示富文本时使用持续维护的净化器和最小标签、属性白名单。禁止把未经上下文安全处理的数据传入 innerHTML、outerHTML、insertAdjacentHTML、内联事件属性、动态脚本地址或字符串求值接口。
# 底层机制
XSS 的本质不是输入中出现某个字符,而是攻击
