网络安全专业术语
CSRFvsJWT
网络安全领域术语对比 — 快速理解两者的核心差异
概览对比
CSRF
CSRF 让攻击者利用用户已登录的身份,在用户不知情的情况下执行转账、改密码等敏感操作。用户只需点击一个恶意链接,攻击就完成了。
JWT
JWT 将用户身份信息编码为一个自包含的 Token(Header.Payload.Signature),服务端无需查数据库即可验证身份。广泛用于 API 认证和单点登录。
核心要点
CSRF
- 利用浏览器自动携带 Cookie 的机制
- CSRF Token 和 SameSite Cookie 是主要防御
- 现代框架大多内置 CSRF 防护
JWT
- 自包含的无状态认证令牌
- Header.Payload.Signature 三段结构
- API 认证和 SSO 的主流方案
正式定义
CSRF
利用用户已认证的会话在其不知情的情况下向目标网站发送恶意请求的攻击
JWT
基于 JSON 格式的自包含无状态身份认证令牌标准
应用场景
CSRF
- Web 应用安全测试
- 认证机制的安全评估
- 安全开发规范制定
JWT
- API 的无状态身份认证
- 单点登录(SSO)的令牌传递
- 微服务间的身份传播
详细解读
CSRF
CSRF 利用浏览器在发送请求时自动携带目标站点 Cookie 的机制。攻击者构造一个恶意页面,当已登录目标站点的用户访问该页面时,浏览器会自动带上 Cookie 发送请求,服务器无法区分这是用户主动操作还是被诱骗的。防御方法包括 CSRF Token、SameSite Cookie 属性、以及验证 Referer/Origin 头。现代 Web 框架(Next.js、Django)大多内置了 CSRF 防护。
JWT
JWT 由三部分组成:Header(算法和类型)、Payload(用户信息和声明)、Signature(签名验证)。JWT 的优势是无状态(服务端不存 session),适合分布式系统。常见安全问题:算法混淆攻击(alg:none)、密钥泄露、Token 无法主动失效。最佳实践:使用短过期时间 + Refresh Token、验证算法和签名、不在 Payload 中存敏感信息。
快速对比
| 维度 | CSRF | JWT |
|---|---|---|
| 类型 | 专业术语 | 专业术语 |
| 标签 | 攻击/渗透、应用安全 | 身份认证、应用安全 |
| 热度 | 72 | 68 |
共同关联术语
CORS