zoukankan      html  css  js  c++  java
  • csrf跨站点请求伪造

    什么是csrf(跨站请求伪造)

      伪造请求的定义有很多种,我将不是用户本意发出的请求统称为伪造请求(在用户不知情的情况下执行某些操作)xss的通过用户对浏览器的信任造成的,csrf是通过服务器对浏览器的信任造成的

    csrf的原理及过程:

      假设有a用户和b网站c网站  c网站为恶意网站

        a用户正常登录b网站,登录成功,b网站返回一个cookie给a用户

        b用户访问c网站,c网站在a用户不知情的情况下要求a的浏览器访问b网站的特点功能,浏览器正常执行

        b网站接到a浏览器的请求,正常执行a用户浏览器的请求

    csrf形成的前提:

      与攻击方处于同一浏览器,用户处于登录状态并且用户访问了攻击方的链接

    csrf攻击过程:

      当用户执行修改密码操作时候,向网页提交了一个正常的请求
      

       根据这个请求配置一个方式配置一个专门的网页,当访问这个网页的时候,这个网页会发出一个iframe框架请求请求了修改密码请求,将密码修改为123,display是设置框架的隐藏

      

    受害者访问过程:
       我们更换用户登录

       

      登录成功:访问网址

        

       退出登录

        

       密码已经被修改成123

    csrf的防御:

      1.服务器端验证请求浏览器的Referer参数(该参数表示的是从哪个网页发出的请求)

       

      2.增加随机token 验证

        

      3.Cookie中的http-only属性验证   

  • 相关阅读:
    .bash_profile与.bashrc和.profile的区分概念
    java创建文件和目录
    Win7设置wifi热点
    JAVA之File类创建对象构造函数传参数需要注意的几点
    linux 控制台使用技巧
    poj1426-Find The Multiple
    Ubuntu下安装Android SDK(图文教程)
    屏蔽EditText长按导致的弹出输入法的对话框
    ZJUT 1423 地下迷宫(期望DP&高斯消元)
    Hadoop之SequenceFile
  • 原文地址:https://www.cnblogs.com/KHZ521/p/12128704.html
Copyright © 2011-2022 走看看