前端攻击手段有哪些?该如何预防?

198 阅读1分钟

XSS

  • cross site script 跨站脚本攻击
  • 手段:黑客将JS代码插入到网页内容中,渲染时执行JS代码
  • 预防:特殊字符替换(前端或者后端)

演示

image.png

image.png

预防

替换尖括号:

image.png

Vue React 不用担心XSS攻击,除非在vue中使用v-html在react中使用 dangerouslySetInnerHtml

CSRF

  • Cross Site Request Forgery 跨站请求伪造
  • 手段:黑客诱导用户去访问另一个网站的接口,伪造请求
  • 预防:严格控制跨域 + 验证码机制

CSRF详细过程

  • 用户登录了A网站,有了cookie
  • 黑客诱导用户到B网站,并发起了A网站的请求
  • A网站的API发现有cookie,认为是用户自己操作的

CSRF预防手段

  • 严格的跨域请求控制,如判断referrer(请求来源)
  • 为cookie设置SameSite,禁止跨域传递cookie
  • 关键接口使用短信验证码

点击劫持

  • click jacking
  • 手段:诱导界面上蒙一个透明的iframe,诱导用户点击
  • 预防:让iframe不能跨域加载

image.png

点击劫持预防

image.png

DDoS

  • Distribute denial-of-service 分布式拒绝服务
  • 手段:分布式的、大规模的流量访问,使服务器瘫痪
  • 预防:软件层不好做,需要硬件预防(如阿里云WAF)

SQL注入

  • 手段:黑客提交内容时写入SQL语句,破坏数据库
  • 预防:处理输入的内容,替换特殊字符

前端攻击

  • XSS
  • CSRF
  • 点击劫持
  • DDoS
  • SQL注入