当用户访问一个恶意网站时,它可以通过用户的浏览器发送一个请求,该请求会以用户的身份向一个受信任的网站发送请求。如果用户已经通过身份验证,受信任的网站会信任该请求并对其进行处理,这样恶意网站就可以通过跨站请求伪造 (CSRF) 攻击成功地执行该请求。以下是CSRF攻击的示意图:
+-------------+ +---------------+
| 用户浏览器 | | 受信任网站 |
+-------------+ +---------------+
| |
| 请求 |
| -------------------------->|
| |
| 验证用户身份 |
| |
| 用户已通过身份验证 |
| <--------------------------|
| |
+------------------| |-----------------+
| 恶意网站 | | 收到验证请求 |
| (欺诈) | | (来自受信任的网站) |
+-----------------| |------------------+
| 请求 |
| -------------------------->|
| |
| 中间人攻击 |
| |
| 请求使用用户身份 |
| |
| <--------------------------|
| 请求成功 |
| |