CSRF从0到1

简介

CSRF (Cross-site request forgery,跨站请求伪造)也被称为 One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。与 XSS 不同的是,XSS利用站点内的信任用户,而CSRF通过伪装成受信任用户请求受信任的网站,也就是攻击者盗用你的身份,以你的名义发送恶意请求。

CSRF能够做的事情包括以目标用户的名义发送邮件、发消息,盗取目标用户的账号,甚至购买商品、虚拟货币转账等。

漏洞原理

举个例子

你想给某用户转账100元,单击“转账”按钮之后,发出的HTTP请求会与http://www.xxbank.com/pay.php?user=xx&money=100类似。攻击者构造链接http://www.xxbank.com/pay.php?user=hacker&money=100,当目标用户访问了该URL后,就会自动向hacker账号转账100元,而且这只涉及目标用户的操作,攻击者并没有获取目标用户的cookie或其他信息。

CSRF攻击过程有两个重点:

  • 目标用户已经登录了网站,能够执行网站的功能
  • 目标用户访问了攻击者构造的URL

漏洞利用