CSRF(Cross-site request forgery)跨站请求伪造
CSRF理解
跨站请求伪造也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF,是一种挟制用户在当前已登录的 Web 应用程序上执行非本意的操作的攻击方法。
可以理解为
攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。
举个例子
-
用户A浏览并登录信任的网站B
-
网站B验证A的登录信息和权限,验证成功后网站B会返回用户浏览器cookie
-
用户A在没有退出网站B的情况下访问了一个有危险的网站S(比如用户点击了浏览器弹出来的不知名钓鱼网站)
-
这个危险网站上有一个超链接,超链接的地址指向了网站B
-
用户A在浏览器点击S网站的超链接,由于这个超链接会自动携带上浏览器中保存的 Cookie访问网站B。
-
由于浏览器会自动带上用户A的cookie,所以B会根据用户A的权限处理请求,这样S就达到了模拟用户登录的过程。
如果网站B是一个银行网站,S钓鱼网站搭建一个和招商银行一模一样的网站页面,你以为是招商银行的网站,当你访问钓鱼网站时&#