一、CSRF 是什么?
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。
二、实际攻击场景
下面用一个银行网站的转账功能,说明攻击原理。备注:涉及到 URL 等信息都是虚构。
1、登录账号
-
正常登录了一家银行网站,查看其后台信息后,没有退出登录;
-
假设这家银行操作转账的 URL 是:
https://bank.example.com/withdraw?account=AccoutName&amount=1000&for=PayeeName
2、恶意链接
-
此时你看到其他网站的一个诱导链接,你下意识点开了;
-
诱导链接中包含恶意代码(用 转账链接 替代 真实图片链接)
<img src="https://bank.example.com/withdraw?account=Alice&amount=1000&for=Badman" />
3、攻击完成
- 点击链接后,