CSRF漏洞简介

csrf简介

CSRF 全称为跨站请求伪造( Cross-site request forgery ),是一种网络攻击方式,在 CSRF 的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。也被称为 one-click attack 。

原理 

首先,我们来说一下cookie是什么?

所谓“cookie”数据是指某些网站为了辨别用户身份,储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。 通俗来讲就是指缓存数据,包括用户名、密码、注册账户、手机号等公民个人信息。

漏洞危害

常见 CSRF 漏洞危害如下 :
  • 篡改目标网站上的用户数据信息,如用户名手机号等
  • 盗取用户隐私数据。
  • 配合XSS漏洞造成更大危害。
  • 传播CSRF蠕虫。
  • 总结:简而言之,是利用目标用户的合法身份,以用户的名义执行非法操作。

 get型csrf

       在 web 应用中,很多接口都是通过 GET 进行数据的请求和存储,如果未对来源进行校验,并且没有 token保护,许多用户在登录一个网站以后,就会产生一个cookie ,去访问别的网站时,一般会利用cookie验证,而不验证来源,攻击者可以直接通过发送含有payload 的链接诱导点击来进行攻击。

post型csrf     

         post 型与 get 型的差别就是 get 型参数是在 url 中直接显示, post 型需要抓包才能看到参数
所以 post csrf 不能直接伪造恶意链接。而需要伪造一个页面,提交表单。
        可以自己编写代码,也可以通过 burp 抓包工具构造 poc。

csrf(token)

  • csrf的主要问题是敏感操作容易被伪造,我们可以加入token让每次的请求不容易被伪造。
  • 每次请求,都增加一个随机码(需要够随机,不容易被伪造),后台每次对这个随机码进行验证,抓包进行查看

图中的框为token

跟前面比较,这里多了一个 Token ,如果后台对提交的 Token 进行了验证,由于 Token 是随机的,我们就无法伪造URL 了。

防御手段

  • 验证HTTP Referer字段
  • 限制Cookie生命周期
  • 使用一次性token
  • 使用验证码或者密码确认方式进行

绕过方法 

  1. Referer 绕过
    referer 绕过: 其他协议( data )或 https http
    包含 referer 若只检查是否包含网址,只需在我们的网站上创建一个文件 / 文件夹即可
  2. CSRF-token 绕过
    删除令牌 :删除 cookie/ 参数中 token ,免服务器验证
    令牌共享: 创建两个帐户,替换 token 看是否可以互相共用;
    篡改令牌值 :有时系统只会检查 CSRF 令牌的长度;
    解码 CSRF 令牌: 尝试进行 MD5 Base64 编码
    修改请求方法 post 改为 get
    窃取 token :重定向、 XSS web 缓存欺骗、 clickjacking 等都可能导致 token 泄露

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/8467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lora基础炼丹学习笔记

1、收集数据集 20-30张人物各个角度、各个姿势的图片 2、图片预处理 裁剪 打标签 裁剪必须也要512 * 512 ,因为sd1.5就是用这个尺寸训练的,可以使用后期处理 打标可以勾选这个,Deepbooru对二次元画风更友好 打标也可以使用wb14-tagger的…

Flink checkpoint 源码分析- Checkpoint snapshot 处理流程

背景 在上一篇博客中我们分析了代码中barrier的是如何流动改的。Flink checkpoint 源码分析- Checkpoint barrier 传递源码分析-CSDN博客 最后跟踪到了代码org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate#handleEvent 现在我们接着跟踪相应代…

FTTR(光猫)ITMS注册NCE纳管

ITMS注册 TR069交互过程: 1.1. TR069交互—主动连接机制 主动连接机制是指CPE主动发出请求连接事件(事件可以为: 0 BOOTSTRAP; 1 BOOT; PERIODIC等等)给ACS。在连接建立之后才能进行业务处理(通过调用RPC方法实现)。 备注:政企…

2024.5.8

聊天框完善 #include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget) {ui->setupUi(this);//设置窗口大小this->resize(400,560);//设置窗口图标和标题this->setWindowTit…

Android C++ 开发调试 LLDB 工具的使用

文章目录 调试环境准备基础命令Breakpoint CommandsWatchpoint CommandsExamining VariablesEvaluating ExpressionsExamining Thread StateExecutable and Shared Library Query Commands 参考: Android 中在进行 NDK 开发的时候,我们经常需要进行 C 代…

隐式3D形状表示:Occupancy Networks

OccNet 的关键思想是隐式地表示3D形状,而不是显式地表示。与直接编码形状几何信息不同,OccNet 将形状的表面建模为非线性分类器的决策边界。 隐式表示:Occupancy Networks 将 3D 形状表示为非线性分类器函数的决策边界 f θ : R 3 X → [ 0…

crmeb知识付费系统正式上线,分屏录制网课用什么软件?教程有啥?

现在很多人为了提升自己知识储备,都会选择线上课程来提升自己,因为线上课程不受时间、地点的限制,大家可以在家就学习,也有很多人想做自己的网络课程,那分屏录制网课用什么软件好? 目前市面上有很多可以录屏…

高斯赛德尔迭代程序

高斯赛德尔迭代非常常用&#xff0c;看到网上很多例子写的不够简洁&#xff0c;这里我写了一个&#xff0c;供参考 import numpy as npdef gauss_seidel(A,b,x1,eps1.e-6):n len(A)max_iter 200iters 0while abs(np.dot(A[0,:],x1) - b)[0] > eps and iters < max_…

2024年颠覆商业模式《本草生活》项目,巧妙三招营销引流裂变套路

2024年颠覆商业模式《本草生活》项目&#xff0c;巧妙三招营销引流裂变套路 文丨微三云营销总监胡佳东&#xff0c;点击上方“关注”&#xff0c;为你分享市场商业模式电商干货。 - 引言&#xff1a;现如今流量枯竭、降本增效、红利不再已是线上营销的常态&#xff0c;互联网…

静态照片怎么合成gif?详细介绍一个方法

我们在各大平台中都能看到各种样式的gif动图。Gif动图其实就是由一帧一帧的静态图片合成的动态效果的gif&#xff0c;想要制作gif动画可以通过使用在线图片合成&#xff08;https://www.gif5.net/&#xff09;工具-GIF5工具网&#xff0c;手机、pc均可操作&#xff0c;只需要上…

网络代理与网络安全:解析 SOCKS5、代理IP、HTTP 的关系与应用

在当今数字化时代&#xff0c;网络代理技术成为了保护隐私、绕过地理限制、加强网络安全的重要工具。本文将探讨 SOCKS5 代理、代理IP、HTTP 代理等关键概念&#xff0c;并着重讨论它们在网络安全方面的应用与挑战。 SOCKS5 代理 定义与特点&#xff1a;SOCKS5 是一种网络代理…

nestjs 全栈进阶--自定义装饰器

视频教程 20_nest中自定义装饰器_哔哩哔哩_bilibili nest new custom-decorator -p pnpm pnpm start:dev 在Nestjs 中我们使用了大量装饰器 decorator &#xff0c;所以Nestjs 也允许我们去自定义装饰器。 1. 自定义方法装饰器 nest g decorator aaa --flat 它生产的代码…

C++进阶——浅谈隐式转化

在代码里我们或多或少都会依赖c的隐式类型转换。 然而不幸的是隐式类型转换也是c的一大坑点&#xff0c;稍不注意很容易写出各种奇妙的bug。 因此我梳理一遍c的隐式类型转换 一、什么是隐式类型转换 概念&#xff1a;就是当你只有一个类型T1&#xff0c;但是当前表达式需要类…

详细分析McCabe环路复杂度(附例题)

目录 前言1. 基本知识2. 例题 前言 该知识点常出在408或者软考中&#xff0c;对此此文重点讲讲理论知识以及例题 对于例题平时看到也会更新 1. 基本知识 McCabe环路复杂度是一种用于衡量软件代码复杂性的指标&#xff0c;主要是通过计算代码中的控制流图中的环路数量来衡量…

机房——蓝桥杯十三届2022国赛大学B组真题

问题分析 这题用深搜广搜都能做&#xff0c;不过我更倾向于用广搜&#xff0c;因为广搜能更容易找到目标点。那么是采用结构体存储边还是采用二维数组存储临接矩阵呢&#xff1f;我们注意到n的取值范围为1e5,用二维数组哪怕是bool类型就需要至少1e10Byte的连续空间,这个空间太大…

【C++PCL】点云处理3D-Harris关键点提取

作者:迅卓科技 简介:本人从事过多项点云项目,并且负责的项目均已得到好评! 公众号:迅卓科技,一个可以让您可以学习点云的好地方 重点:每个模块都有参数如何调试的讲解,即调试某个参数对结果的影响是什么,大家有问题可以评论哈,如果文章有错误的地方,欢迎来指出错误的…

2022 年全国职业院校技能大赛高职组云计算赛项试卷(公有云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…

5V升8.4V2A升压恒压WT3231

5V升8.4V2A升压恒压WT3231 WT3231 是一种高性能直流-直流&#xff08;DC-DC&#xff09;转换器&#xff0c;集成了能够承受10A电流和26mΩ低导通电阻的功率MOSFET。该转换器能提供高达12V的稳定输出电压&#xff0c;并具有固定600KHz开关频率&#xff0c;使得小型外部电感和电…

解决github无法克隆私有仓库,Repository not found问题(2024最新)

一、背景 这个问题出现&#xff0c;是你用了其他主机设备&#xff0c;需要重新clone私有库时&#xff0c;发现一直报找不到仓库&#xff0c;如下报错&#xff1a; remote: Repository not found.二、解决方法 &#xff08;1&#xff09;账号密码方式&#xff08;已不支持&am…

构建自己的docker镜像node.js

学习资源&#xff1a; 构建自己的 Docker 镜像_哔哩哔哩_bilibili 针对其中的一些比较困难的点写篇文章。 以下是对app.js的注释&#xff1a; // 使用 Koa 框架搭建 Node.js 应用的示例代码// 这两行代码引入了 koa 模块&#xff0c;并创建了一个新的 Koa 应用实例&#xf…