zoukankan      html  css  js  c++  java
  • 网站攻击的方式有哪几种

    1、xss(跨站脚本攻击):富文本、评论

    利用站点开放的文本编辑并发布的功能,输入并执行js脚本,窃取cookie等敏感信息。

    预防方法:

    方法一:cookie添加httpOnly属性,这是使用js是不能读取和操作cookie的。

    方法二:在cookie中添加校验信息。

    方法三:对用户输入进行编码(encode)、过滤(移除style、script、iframe相关节点)、校正()

    js编码解码:
    1、使用参数时,使用encodeURIComponent
    2、进行url跳转时,使用encodeURI
    3、js使用数据时,使用escape
     
    2、csrf(跨站请求伪造):支付扣款

    伪造用户的请求,冒充用户在站内进行操作。

    方法一:使用referer来判定来源页面

    方法二:关键操作只接受post请求,因为get请求的参数携带在url中,很容易模拟。

    方法三:在http请求中加上token,并在服务器端验证这个token。

    方法四:登录、支付的页面加上一些用户互动,比如验证码,确保当前请求是用户发起的。

    两者的区别:

    1、xss不需要登录;csrf需要用户先登录获取到cookie;

    2、xss是在网站A注入js代码,然后执行js代码,达到篡改网站A的内容;

    csrf利用网站A的漏洞,去请求网站A的api。

     

    Cookie和Token都存需要放在Header里面,为什么只劫持前者?

    1、http是无状态的,为了使域名下的所有网页能共享某些数据,因此出现了session、cookie以及token。

    2、cookie是用于记录用户状态的一种方式,装有sessionId,由服务端设置,存储在客户端在每个请求中会自动携带。

    3、token是无状态的,用户信息都被加密到token中,服务器收到token后解密就可以知道是哪个用户,token不会在请求中自动携带,而需要手动添加。

    cookie:用户点击了链接,cookie未失效情况下,后端以为是用户的正常操作,于是进行扣款等操作。

    token:用户点击链接,由于浏览器不会自动带上token,即使发了请求,但是后端token验证不通过。

  • 相关阅读:
    A Bayesian Approach to Deep Neural Network Adaptation with Applications to Robust Automatic Speech Recognition
    nnet3的代码分析
    Kaldi中的L2正则化
    HMM拓扑与转移模型
    Kaldi阅读并更改代码
    nnet3中的数据类型
    nnet3配置中的“编译”
    Kaldi的delta特征
    Kaldi的交叉熵正则化
    【搜索】 Prime Path
  • 原文地址:https://www.cnblogs.com/annie211/p/12687785.html
Copyright © 2011-2022 走看看