csrf与xss攻击

93 阅读1分钟

csrf攻击

中文名: 跨站请求伪造

原理:

后端通过cookie进行身份验证,且前端请求会自动携带cookie,因此就可以利用这一点伪造登录用户的请求

防御:

  • 将用于身份认证的cookie,设置为httpOnly, 使前端无法读取
  • 不用cookie进行身份验证,改用手动从请求头传token
  • 特别重要的请求,改为post,且加入额外的验证机制,比如请求之前,需要先填个验证码之类的

xss攻击

中文名: 跨域脚本攻击

原理:

前端可以执行js脚本和渲染html代码,如果将这些脚本或html代码来自后端数据库,而前端直接将内容显示到了界面,那就可能造成跨域脚本攻击(主要发生在富文本显示上)

防御:

  1. 前端显示富文本内容时,保证显示的内容是经过转义的。如: 通过 xss库 对富文本内容,进行转义
  2. 后端保证存储到数据库中的富文本是经过转义的

参考资料

csrf与xss攻击的详解与区别_xss攻击和csrf攻击最重要的区别-CSDN博客

前端 | XSS 的攻击手段及其防御 - 知乎 (zhihu.com)

前端 | CSRF 的攻击类型与防御 - 知乎 (zhihu.com)