跨站请求伪造CSRF
1、CSRF简介
CSRF(Cross-Site request forgery),中文名称:跨站请求伪造。CSRF通过伪装来自受信任用户的请求来利用受信任的网站。
CSRF可以做什么
可以这么理解CSRF攻击,攻击者盗用了你的身份,以你的名义来发送恶意请求。CSRF能够做的事情包括:以你的名义发送邮件,发消息,盗取你的账号,甚至购买东西。造成的问题包括:个人信息泄露以及财产安全。
2、CSRF原理
CSRF攻击原理如下图所示:
图中Browse是浏览器,WebServerA是受信任的网站/被攻击网站A,WebServerB是恶意网站/攻击网站B。
- 用户打开浏览器,访问受信任的网站A,输入用户名和密码登录请求登录网站A.
- 网站A验证用户信息,用户信息通过验证后,网站A产生Cookie信息并返回给浏览器。
- 用户登录网站A成功后,可以正常请求网站A。
- 用户未退出网站A之前,在同一浏览器中,打开一个TAB访问网站B。
- 网站B接受到用户请求后,返回一些攻击性代码。
- 浏览器在接收到这些攻击性代码后,促使用户不知情的情况下浏览器携带Cookie(包括sessionId)信息,请求网站A。这种请求有可能删除,更新等操作。