网络安全专业术语
XSS
Cross-Site Scripting
跨站脚本攻击 · Web 安全的头号公敌
攻击/渗透应用安全
XSS
- 定义
- XSS(Cross-Site Scripting)是网络安全领域的专业术语。XSS 让攻击者在受害者的浏览器中执行恶意 JavaScript,可以窃取 Cookie、劫持会话、篡改页面内容。
最后更新:2026-03-18
什么是XSS?
XSS 让攻击者在受害者的浏览器中执行恶意 JavaScript,可以窃取 Cookie、劫持会话、篡改页面内容。OWASP Top 10 常客,至今仍是最常见的 Web 漏洞之一。
- 分为反射型、存储型和 DOM 型三种
- CSP 和输出编码是主要防御手段
- 即使在 2025 年仍是 Bug Bounty 最常见的漏洞类型
XSS详解
XSS 攻击通过在 Web 应用中注入恶意脚本代码,当其他用户访问受影响页面时脚本在其浏览器中执行。存储型 XSS 最危险(恶意代码持久化在服务器),反射型最常见(通过 URL 参数注入),DOM 型最隐蔽(纯客户端触发)。防御需要多层策略:输入验证、输出编码、CSP 头、HttpOnly Cookie。现代前端框架(React、Vue)默认转义输出,大幅降低了 XSS 风险,但自定义渲染和 dangerouslySetInnerHTML 仍是常见突破口。
XSS的应用场景
正式定义
通过在 Web 应用中注入恶意客户端脚本来攻击其他用户的安全漏洞
应用场景
- Web 应用安全评估
- Bug Bounty 漏洞挖掘
- 安全开发培训
常见误区
- XSS 不只是弹窗,实际危害包括会话劫持和数据窃取
- 现代框架不能完全防止 XSS,开发者仍需注意
- XSS 和 CSRF 是不同的攻击,但常被混淆
实际案例
📌 存储型 XSS 实战
某社交平台的评论功能未做输出编码,攻击者在评论中注入 JavaScript,所有查看该评论的用户的 Session Cookie 被发送到攻击者服务器,影响数万用户。
XSS的参考来源
关于XSS的常见问题
- XSS 攻击有哪些类型
- 反射型(URL 参数注入)、存储型(恶意脚本存入数据库)、DOM 型(客户端 JS 处理不当),存储型危害最大。
- 怎么防御 XSS
- 输出编码、CSP 策略、输入验证、使用框架自带的转义机制(如 React 默认转义),避免 innerHTML。