前端安全知道这两点就够了

265 阅读1分钟

CSRF

基本概念和缩写

CSRF,通常称为跨站请求伪造,英文名Cross-site request forgery 缩写 CSRF

攻击原理

截屏2021-03-15 下午4.42.36.png

防御措施

  • Token验证(因为token不会自行随接口传递)
  • Referer验证(验证是否是从本站页面来的访问)
  • 隐藏令牌
  • cookie设置httpOnly

截屏2021-03-15 下午5.12.00.png

XSS

XSS(cross-site scripting 跨域脚本攻击)

攻击原理:攻击方式 在页面注入脚本并运行

攻击类型:

1、反射型:XSS 代码 -> URL -> 服务器 ->客户端

反射型 两点条件: 发出请求时,XSS代码出现在URL中,作为输入提交到服务器端 服务器端解析后响应,XSS代码随响应内容一起传回浏览器,最后浏览器解析执行XSS代码

触发方式:

  • 自动触发:通过img标签如: http://localhost:3000/?xss=<img src="null" onerror="alert(1)"/>
  • 引诱触发:http://localhost:3000/?xss=<p onclick="alert(点我)">点我</p>
  • iframe方式:http://localhost:3000/?xss=<iframe src="//baidu.com/t.html"></iframe>常用来插入广告之类的

2、存储型:XSS 代码 -> URL -> 服务器 ->数据库 -> 客户端

存储型 和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统),下次请求目标页时不用再提交XSS代码

xss的防御措施

第一步:编码 对用户输入的数据进行HTML Entity编码

第二步:过滤 移除用户上传的DOM属性,如onerror等 移除Style结点、Script节点、Iframe节点等

第三步: 校正 避免直接对HTML Entity 解码 使用DOM Parse 转化,校正不配对的DOM标签