0%

前端安全 XSS 防范

XSS 是什么?

跨站脚本攻击,注入恶意脚本。

类型

  • 存储型
  • 反射型
  • DOM 型

防范

  • 输入验证
  • 输出转义
  • CSP
1
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">

总结

XSS 防范保护用户数据。

输出编码

  • HTML 实体编码 < -> &lt;> -> &gt;
  • CSS 编码、URL 编码

内容安全策略 (CSP)

在响应头中添加:

1
Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-abc123';

对内联脚本使用 nonce 或 hash。

框架防 XSS

  • React 自动对 JSX 进行编码
  • Angular 使用 {{ }} 绑定会转义
  • Vue 模板自动转义,v-html 小心使用

测试与扫描

使用 OWASP ZAP、Burp Suite、nmap 等工具扫描跨站脚本漏洞。

相关攻击示例

1
<img src=x onerror=alert(1)>
1
2
const user = '<script>alert(1)</script>';
document.body.innerHTML = user; // 易受攻击

防范总结

  1. 永远对外部数据编码或转义
  2. 使用 CSP 限制资源加载
  3. 定期扫描和审计

XSS 防范补充 1
XSS 防范补充 2
XSS 防范补充 3
XSS 防范补充 4
XSS 防范补充 5
XSS 防范补充 6
XSS 防范补充 7
XSS 防范补充 8
XSS 防范补充 9
XSS 防范补充 10
XSS 防范补充 11
XSS 防范补充 12
XSS 防范补充 13
XSS 防范补充 14
XSS 防范补充 15
XSS 防范补充 16
XSS 防范补充 17
XSS 防范补充 18
XSS 防范补充 19
XSS 防范补充 20
XSS 防范补充 21
XSS 防范补充 22
XSS 防范补充 23
XSS 防范补充 24
XSS 防范补充 25
XSS 防范补充 26
XSS 防范补充 27
XSS 防范补充 28
XSS 防范补充 29
XSS 防范补充 30
XSS 防范补充 31
XSS 防范补充 32
XSS 防范补充 33
XSS 防范补充 34
XSS 防范补充 35
XSS 防范补充 36
XSS 防范补充 37
XSS 防范补充 38
XSS 防范补充 39
XSS 防范补充 40
XSS 防范补充 41
XSS 防范补充 42
XSS 防范补充 43
XSS 防范补充 44
XSS 防范补充 45
XSS 防范补充 46
XSS 防范补充 47
XSS 防范补充 48
XSS 防范补充 49
XSS 防范补充 50
XSS 防范补充 51
XSS 防范补充 52
XSS 防范补充 53
XSS 防范补充 54
XSS 防范补充 55
XSS 防范补充 56
XSS 防范补充 57
XSS 防范补充 58
XSS 防范补充 59
XSS 防范补充 60
XSS 防范补充 61
XSS 防范补充 62
XSS 防范补充 63
XSS 防范补充 64
XSS 防范补充 65
XSS 防范补充 66
XSS 防范补充 67
XSS 防范补充 68
XSS 防范补充 69
XSS 防范补充 70
XSS 防范补充 71
XSS 防范补充 72
XSS 防范补充 73
XSS 防范补充 74
XSS 防范补充 75
XSS 防范补充 76
XSS 防范补充 77
XSS 防范补充 78
XSS 防范补充 79
XSS 防范补充 80
XSS 防范补充 81
XSS 防范补充 82
XSS 防范补充 83
XSS 防范补充 84
XSS 防范补充 85