CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:
攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
我们在此可以举一个老生常谈的例子。
就是Jack与Mike的银行账户问题。
这里我们假设Jack是攻击者,Mike是受害者。
受害者 Mike 在银行有一笔存款,通过对银行的网站发送请求 http://bank.example/withdraw?account=Mike1&amount=1000000&for=Mike2 可以使 Bob 把 1000000 的存款转到 bob2 的账号下。通常情况下,该请求发送到网站后,服务器会先验证该请求是否来自一个合法的 session,并且该 session 的用户 Mike 已经成功登陆。
黑客 Jack 自己在该银行也有账户,他知道上文中的 URL 可以把钱进行转帐操作。Jack可以自己发送一个请求给银行:http://bank.example/withdraw?account=Mike&amount=1000000&for=Jack。但是这个请求来自 Jack而非 Mike,他不能通过安全认证,因此该请求不会起作用。
这时,Jack 想到使用 CSRF 的攻击方