XSS跨站脚本攻击

对用户的输入没有进行过滤,导致恶意代码在前端或者后端执行

持久型XSS攻击

用户输入被存储到数据库,面向全部用户

非持久型

用户输入只在前端被攻击,面向用户自己

解决办法:

前端和后端的用户的输入信息做转换
cookies里面添加HttpOnly字段,防止document操作cookie

CSRF跨站请求伪造(Cross Site Request Forgery)

发起CSRF攻击的必要条件

  1. 目标站点存在CSRF漏洞
  2. 用户要登录过目标状态,并且在浏览器端保持登录状态
  3. 用户需要打开第三方站点

CSRF一般是跨域的,浏览器对跨域默认是做了限制的,除非目标网站是支持跨域携带cookie的

  • 跨站请求可以用各种方式:图片URL、超链接、CORS、Form提交等等。部分请求方式可以直接嵌入在第三方论坛、文章中,难以进行追踪。

防范措施:

1.通过检验是否为同源
浏览器会携带origin/refer 这种header,后端再进行同源判断
设置samaSite,chrome默认为Lax

  1. JWTToken验证,不适用cookies
  2. 验证码
  3. 双重cookies验证

后端生成一个随机数到cookie中,然后每次请求都带上改随机数,实现双重cookie验证