Cross-site request forgery, 跨站请求伪造. 冒充用户的身份, 发送伪造请求.
攻击流程:
| ------- | --1--> | ------- |
| | | Web A |
| | <-2--- | |
| | ---5-> | |
| 用户A | | ------- |
| | --3--> | |
| | | |
| | <--4-- | Web B |
|---------|--------|---------|
- 1. 用户A 登陆到 Web A
- 2. Web A 产生用于验证身份的 cookie
- 3. 用户A 访问 Web B
- 4. Web B 要求用户A 访问 Web A
- 5. 用户A 通过携带验证身份的 cookie, 并通过 Web B 构造的请求访问 Web A. Web A 通过验证, 并对资源进行操作
从上面的流程可以看出, Web B 通过冒充用户的身份, 发送伪造请求, 达到攻击的目的.
那如何防止 CSRF 攻击呢? 主流的方法时通过 Token 验证, 每次用户访问时, 都需携带上特定的 Token. 由于恶意的服务器, 没有办法获取到 Token, 故攻击无法生效.
如果觉得有帮助, 可以扫描右边的微信打赏码支持一下.