前端安全个人笔记 | 青训营笔记

77 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第4天

导言:安全问题在计算机领域的地位举足轻重,在各种交叉领域都能遇到,在目前这个数字化信息化的时代安全就更需要众视,那么本文会总结常见的一些前端安全的攻击方法和防御方法

Cross-Site Scripting(XSS)恶意脚本注入

利用了 盲目信任用户的提交内容 前端工程师直接直接把String → dOM

特点

通常难以从 UI上感知(暗地执行脚本) 一窃取用户信息(cookie/token) 绘制UI(例如弹窗),诱骗用户点击/填写表单

类型

image.png image.png

image.png

区别

前者服务端攻击

后者浏览器攻击

image.png

对浏览器的区别攻击

image.png

总结:永远不要相信用户的输入,不要直接转化为dom

防御措施

  • 做好字符串转义过滤避免XSS攻击
  • String → DOM 要对其转义
  • 上传SVG文件也要对其进行扫描
  • 不要自定义跳转连接(需要的话就做好过滤)
  • 自定义样式也要注意过滤

CSRF(Cross-site request forgery)跨站伪造请求

image.png

CSRF Get请求例子(也可以使用post请求等)

image.png

SQL注入攻击

image.png

Dos攻击(Denial of Service)

通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应更多请求,导致请求挤压,进而雪崩效应。

浏览器同源策略

协议 域名 端口

这几个都不是同源

image.png

HTTP请求分为同源跨域

CSP(Content Security Policy)内容安全策略

image.png

例子:服务器响应头需要同源

CSRF跨站伪造请求的防御

  • Origin+Referrer

如果请求来源是异常来源就可以直接拒绝非自己定义的请求

  • token

现有页面后请求,校验token,通过则返回,不通过不返回

image.png

token需要设置过期时间,定时更新,需要做用户绑定

从根源上解决!SameSite Cookie

image.png

区别!! image.png