Skip to content

CSRF攻击

原理

  1. 网站使用 cookieId-session 的方式作为辨别用户的手段
    • 即用户登陆后,服务器会生成一个 sessionId,保存在服务器内部,并返回给用户,用户后面的请求都在 cookie 中带上这个 sessionId,让服务器信任这个用户发送的请求
  2. 攻击者诱导已登陆的用户,点击攻击者写好的一个网站
  3. 当用户进入这个网站,攻击者就把用户进入时的请求头部中的 cookie 记录下来
  4. 然后请求一个服务器端的某个请求,并在请求的时候带上 cookie,让服务器端信任攻击者

防范

  1. 服务器端验证请求的域是否是可信任的,不可信任的(如攻击者发送的请求)就屏蔽掉
  2. Token:网站使用 token 的手段辨别用户,在客户端请求页面的时候,服务器生成一个 token,返回给客户端,往后一些重要的请求都要求带上这个 token,这样就算用户点击进入攻击网站,由于请求攻击网站不属于重要请求,所以也不会带上 token,攻击者自然不知道 token 是什么,这样攻击者也无法请求重要的请求了