• CSRF的本质及防御


    本质:产生的原因本质上是参数可知或可预测
    防御:
    1、加密参数:加密加盐,不可知,不可预测
         忧虑,引入其他麻烦:一、数据分析困难
                                         二、正常功能会受影响,比如url收藏
    2、验证码:用户在确认操作
         破解:只防止了用户不知情点击的情况,用户知情时也可以诱导点击
    3、referer check:验证上一url,源检测
         破解:一、诱导合理顺序产生合理源referer
                   二、有些应用可以自定义referer
         忧虑:referer check不一定可用,有些应用禁止了(处于隐私考虑或其他)
         辅助手段
    4、token:增加一个随机参数  (问题:只是参数值随机、不可预测,还是参数名也有必要随机?    名也随机不好传参?),只有服务端与客户端知道的秘密(如可在cookie中也放置,对比与提交的参数(表单)中是否一致,具体应用场景具体设计)
          缺陷:只防护单纯的csrf,当存在xss时,token也被获取
        
    具体应用场景、业务可使用、适用的不同,有些简单设置,有些严格设置;设想如果可以token加密怎样?  这几种都应用怎样?
    但具体业务场景中不太现实,毕竟还需要为业务做数据分析、考虑用户体验等等;
    so,具体应用、场景,具体分析、设计; 
  • 相关阅读:
    [maven 问题]java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map
    [Java基础]Java异常捕获
    [JVM]常用JVM工具使用
    [JVM]一次线上频繁GC的问题解决
    [Java 基础]ResultSet 指定field映射到Pojo对象的Map
    [JVM]使用JMeter做压力测试
    [Linux命令]zip
    [Mysql]分组取最新一条
    [zookeeper_kafka]zookeeper和Kafka安装
    网络带宽是什么?
  • 原文地址:https://www.cnblogs.com/zjdyl/p/7059658.html
Copyright © 2020-2023  润新知