Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 2.48 KB

什么是 CSRF 攻击?.md

File metadata and controls

28 lines (21 loc) · 2.48 KB

什么是 CSRF 攻击?

**CSRF(Cross-site request forgery,跨站点请求伪造)**是一种挟制用户在当前已登录的 Web 应用程序上执行非本意的操作的攻击方法。与 XXS 相比,XSS 利用的是用户对指定网站的信任,而 CSRF 利用的是网站对用户网页浏览器的信任。

CSRF 的攻击原理

  • 用户登录了受信任的网站,并在本地生成了 cookie。
  • 在不退出登录的情况下,访问了危险网站。
  • 危险网站会发出一个请求到受信任的网站,受信任的网站不知道请求是用户访问的还是危险网站访问的,由于浏览器会自动带上用户 cookie,所以受信任的网站会根据用户的权限处理危险网站所发出的请求,达到了模拟用户操作的目的。

CSRF 的防范

  • 对于 GET 的请求,我们不应对数据进行任何修改操作。
  • 请求时附带验证信息,比如验证码或者 token
  • 对于 cookie,我们可以设置 SameSiteLaxStrict)来规定浏览器不能在跨域请求中携带 Cookie,可以减少 CSRF 攻击。
  • 验证 HTTP Referer 字段,判断请求来源。Referer 指的是页面请求来源。意思是只接受本站的请求,服务器才做响应,如果不是,就拦截请求。

更多资源