zoukankan      html  css  js  c++  java
  • CSRF

    CSRF

    概述

    cross-site request forgery

    CSRF攻击场景中攻击者伪造一个请求,然后切片目标用户进行点击,用户一旦点击,攻击就完成了。

    判断一个网站是否存在CSRF漏洞,就是判断其对关键信息的操作(增删改)是否容易伪造。

    利用的场景被攻击者必须要本身处于登录的状态,因为攻击者只是容易伪造请求但并不能知道密码cookie一些东西。

    如何确认

    1. 对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以伪造,如对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造。
    2. 确认凭证的有效期(会提高CSRF被利用的概率),如虽然推出或者关闭了浏览器,但cookie仍然有效,或者session并没有及时国企,导致CSRF攻击成功率变高-攻击者不必处于登陆状态。

    利用

    GET型的只要被攻击者点击,并且处于登录状态就可以。

    POST型和XSS post类型用法一样需要第三方站点做好表单。

    Token

    每次关键动作请求后台都会生成Token,在session中保存,每次提交都会带上token在后端验证会话是连贯和实时的,保证请求不是伪造的。

    验证token,每次刷新页面重置token

    防护

    郑家token验证(常用的做法):

    1. 对关键操作增加token参数,token必须随机,每次都不一样。

    安全的会话管理(避免会话被利用)

    1. 会话及时销毁,登录超时操作。

    还可以限制一下referer

  • 相关阅读:
    php 内置的 webserver 研究。
    php 系列
    git 以及 github 使用系列
    中午和同事聊天,了解的一点网络方面的东西。
    javascript中0.01*2324=23.240000000000002 ?
    javascript的 replace() 方法的使用讲解
    PHP中的ORM
    javascript 函数 add(1)(2)(3)(4)实现无限极累加 —— 一步一步原理解析
    animate.css
    面向对象编程
  • 原文地址:https://www.cnblogs.com/wan-xiang/p/11542660.html
Copyright © 2011-2022 走看看