如何系统防御存储型与反射型 XSS,为什么仅过滤尖括号并不可靠?
简答题中等731 次浏览
参考答案与解析
# 核心结论
系统防御存储型与反射型 XSS 的关键,是让不可信数据始终作为数据处理,而不是被浏览器当成可执行的 HTML、脚本、样式或地址。应优先使用框架默认的安全插值和文档对象模型文本接口,根据输出上下文进行编码;确需富文本时使用成熟净化器并配置标签、属性和协议许可列表;同时以严格的 Content-Security-Policy、Trusted Types、安全会话属性和持续审计作为纵深防御。仅过滤尖括号不可靠,因为浏览器存在多个解析上下文,攻击载荷并不一定需要创建新的标签。
# 底层机制
存储型 XSS 通常先把载荷写入数据库、缓存、日志或内容管理系统,之后在用户或管理员查看页面时执行;反射
