当前位置: 首页 > news >正文

pikachu靶场CSRF之TOKEN绕过

简介

Pikachu靶场中的CSRF漏洞环节里面有一关CSRF TOKEN,这个关卡和其余关卡稍微有点不一样,因为表单里面存在一个刷新就会变化的token,那么这个token是否能绕过呢?接下来我们来仔细分析分析

实战过程

简单尝试

先利用任意一个用户登录进去,然后进入修改数据页面:
在这里插入图片描述
提交,利用burp抓包:
在这里插入图片描述
然后生成POC:
在这里插入图片描述
在这里插入图片描述
以相同浏览器打开测试:
在这里插入图片描述
这个地方改不了的原因是因为带有token参数。接下来简单讲讲token原理。

Token原理

每次访问页面的时候,在后端生成一个token然后存放在SESSION中。
并且将token渲染到表单中。
然后提交表单的时候,就会携带这个token,后端接受到这个token的时候和session中的token进行对比
如果一致:请求合法
如果不一致:请求失效
简单看一下代码:
生成token的代码:

<?php
// 开启session
session_start();
// 准备生成token
$token = md5(rand(1,10000));
// 放到SESSION中
$_SESSION['token'] = $token;

验证token的代码:

<?php
header("content-type:text/html;charset=utf-8");
// 接受数据
// 获取session中的token
session_start();
$s_token = $_SESSION['token'];
// 获取表单中的token
$token = $_POST['token'];
// 判断token
if ($token != $s_token){
// 防止token重用, 判断token完了之后,token替换
$_SESSION['token'] = md5(rand(1,10000));
echo "请求不合法!";die;
}
// 防止token重用, 判断token完了之后,token替换
$_SESSION['token'] = md5(rand(1,10000));
echo "请求合法!";

所以token必须要一致才能提交成功,否则就会失败。

利用burp插件来绕过

先安装插件:
在这里插入图片描述
按照步骤点击安装即可。
在这里插入图片描述
然后设置插件:
在这里插入图片描述
我们抓一个包:
在这里插入图片描述
在这里插入图片描述
点击Go发现数据已经发生变化:
在这里插入图片描述
这个时候要点击一下Follow redirection
在这里插入图片描述

看插件:
在这里插入图片描述
再看页面:
在这里插入图片描述
这个地方大概的原理应该是插件通过异步去先一步去获取token的值,然后将请求的token值给替换了。
但是这个地方仅仅做实验应该是可以的,真实场景实用性不强。
后续再讨论真实场景的token绕过。

相关文章:

pikachu靶场CSRF之TOKEN绕过

简介 Pikachu靶场中的CSRF漏洞环节里面有一关CSRF TOKEN&#xff0c;这个关卡和其余关卡稍微有点不一样&#xff0c;因为表单里面存在一个刷新就会变化的token&#xff0c;那么这个token是否能绕过呢&#xff1f;接下来我们来仔细分析分析 实战过程 简单尝试 先利用任意一个…...

Windows中配置docker没有hyper-v功能解决方案

&#x1f468; 作者简介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;前端领域创作者 ✒️ 个人主页&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;点赞&#x1f44d;&#x1f4dd; 评论 ⭐️收藏 文章目录前言解决步骤&#xff1a;1.新建文档2. 另存为3. 功能…...

电子台账:模板制作之五——二级过滤与多条件组合

1 前言工作中&#xff0c;经常会遇到很复杂的数据&#xff0c;比如内销产品和出口产品、正常产品和报废产品都混在一块儿。电子台账中&#xff0c;需要把这些数据都区分开&#xff0c;分别汇总。这种情况&#xff0c;可以用台账软件的二级过滤功能来处理&#xff0c;实际上就是…...

Kaldi Data preparation

链接&#xff1a;GitHub - nessessence/Kaldi_ASR_Tutorial: speech recognition using Kaldi framework Lets start with formatting data. We will randomly split wave files into test and train dataset(set the ratio as you want). Create a directory data and,then t…...

libevent 学习笔记

一、参考 libevent Libevent深入浅出 - 《Libevent 深入浅出》 - 书栈网 BookStack libevent 之 event config的相关函数介绍_event_config_new_yldfree的博客-CSDN博客 Libevent之evbuffer详解_有时需要偏执狂的博客-CSDN博客 二、libevent概述 libevent 就是将网络、I…...

jupyter的使用

1.安装 安装过程看这篇记录。 安装 2.如何启动 环境搭建好后&#xff0c;本机输⼊jupyter notebook命令&#xff0c;会⾃动弹出浏览器窗⼝打开 Jupyter Notebook # 进⼊虚拟环境 workon ai(这个是虚拟环境的名称) # 输⼊命令 jupyter notebook本地notebook的默认URL为&…...

中级数据开发工程师养成计

目标 工作之后就很少时间用来沉淀知识了&#xff0c;难得用空闲时间沉淀一下自己。 成为一名中级数据开发工程师。偏向于数据仓库&#xff0c;数据治理方向。 整体排期 1 hive 2 hadoop 3 flink 4 spark 5 闲杂工具 kafka maxwell cancal 6 数据建模&#xff08;偏向于kimbo…...

fastjson 返回 $ref 数据

文章目录问题描述&#xff1a;1、重复引用&#xff1a;2、循环引用&#xff1a;原因分析&#xff1a;1、重复引用&#xff1a;2、循环引用&#xff1a;反序列化&#xff1a;1、开启引用检测&#xff1a;2、关闭引用检测&#xff1a;小结&#xff1a;问题描述&#xff1a; 问题…...

Zookeeper特性和节点数据类型详解

什么是ZK&#xff1f; zk,分布式应用协调框架&#xff0c;Apache Hadoop的一个子项目&#xff0c;解决分布式应用中遇到的数据管理问题。 可以理解为存储少量数据基于内存的数据库。两大核心&#xff1a;文件系统存储结构 和 监听通知机制。 文件系统存储结构 文件目录以 / …...

Java代码是如何被CPU狂飙起来的?

无论是刚刚入门Java的新手还是已经工作了的老司机&#xff0c;恐怕都不容易把Java代码如何一步步被CPU执行起来这个问题完全讲清楚。但是对于一个Java程序员来说写了那么久的代码&#xff0c;我们总要搞清楚自己写的Java代码到底是怎么运行起来的。另外在求职面试的时候这个问题…...

Dynamics365安装失败解决及注册编写

一、修改错误昨天登录报错今天开始返回我之前设置的断点开始重新配置&#xff0c;Reporing Services配置完成后发现dynamics365还是下载失败之后下载了一上午dynamics365就一直卡在最后的界面进度条不动索性我直接把所有环境都卸载了 连同虚拟机卸载重装终于在下午的时候dynami…...

Kafka 集群参数

Kafka 集群参数Broker 端参数存储配置ZooKeeper 配置Broker 连接配置Topic 管理配置数据留存配置Topic 级别参数JVM 参数操作系统参数重要的配置 : Broker 端参数&#xff0c;主题级别的参数、JVM 端参数、操作系统级别的参数 Broker 端参数 存储配置 log.dirs&#xff1a;指…...

等保2.0与1.0 测评要求的变化

No.1标准内容增加了 标准内容上最大的变化就是将安全要求分为了安全通用要求和扩展要求。首先&#xff0c;安全通用要求部分已对1.0标准的内容进行了优化&#xff0c;删除或修订了过时的要求项&#xff0c;新增了对新型网络攻击行为防护和个人信息保护等方面的新要求。其次&am…...

nodejs学习巩固笔记-nodejs基础,Node.js 高级编程(核心模块、模块加载机制)

目录Nodejs 基础大前端开发过程中的必备技能nodejs 的架构为什么是 NodejsNodejs 异步 IONodejs 事件驱动架构全局对象全局变量之 process核心模块核心模块 - path全局变量之 Buffer创建 bufferBuffer 实例方法Buffer 静态方法Buffer-split 实现核心模块之FS模块文件操作 APImd…...

2023年春【移动计算技术】文献精读(二)-3 || 附:创新点、创新思想和技术路线总结

榜样的力量是无穷的! 🎯作者主页:追光者♂ 🌸个人简介:2022年CSDN博客之星人工智能领域TOP4🌟、阿里云社区专家博主🏅 CSDN-人工智能领域新星创作者🏆 【无限进步,一起追光!】 🍎欢迎点赞👍 收藏⭐ 留言📝 🌿本篇,仅接着上两篇,为【移动计算技术】…...

企业新闻稿的格式和要求是什么?如何写好新闻稿?

新闻稿是企业自己撰写给媒体的新闻素材&#xff0c;媒体采纳你的稿件后就可以传播到更多的大众面前。 所以企业新闻稿的撰写一方面要让媒体认可&#xff0c;另外一方面是让用户认可你的品牌或是产品。 企业新闻稿的格式和要求是什么&#xff1f;如何写好新闻稿&#xff1f;今…...

String类的底层原理和版本演变

1 String类的底层演变&#xff08;1&#xff09; JDK8以及之前版本 &#xff08;2&#xff09;JDK9以及之后版本 javaJDK8的字符串存储在char类型的数组里面&#xff0c;在java中&#xff0c;一个char类型占两个字节。但是很多时候&#xff0c;一个字符只需要一个字节就可存储&…...

软考高级信息系统项目管理师系列之二十三:项目采购管理

软考高级信息系统项目管理师系列之二十三:项目采购管理 一、项目采购管理内容整理二、项目采购管理1.采购的定义2.项目采购管理3.战略合作管理三、规划采购1.供应商管理2.采购需求与计划3.规划采购的输入、输出、工具和技术四、实施采购1.采购合同知识2.实施采购的输入、输出、…...

SpringMVC-0308

五、域对象共享数据0、三个域对象范围request&#xff1a;一次请求 第1&#xff5e;6都是向request共享session&#xff1a;一次会话&#xff08;浏览器开启到浏览器关闭&#xff0c;与服务器关闭无关&#xff0c;session有钝化和活化操作&#xff0c;可以持久化数据&#xff0…...

[数据结构]:14-选择排序(顺序表指针实现形式)(C语言实现)

目录 前言 已完成内容 选择排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortCommon.cpp 05-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容&#xff0c;除其中使用到C引用外&#xff0c;全为C语言代…...

深入解析acts-as-taggable-on:Rails标签系统的终极实现指南

深入解析acts-as-taggable-on&#xff1a;Rails标签系统的终极实现指南 【免费下载链接】acts-as-taggable-on A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts. 项目地址: https://gitcode.com/gh_mirrors/ac/acts-as-tagg…...

Android日志记录终极指南:如何用Timber提升开发效率

Android日志记录终极指南&#xff1a;如何用Timber提升开发效率 【免费下载链接】timber JakeWharton/timber: 是一个 Android Log 框架&#xff0c;提供简单易用的 API&#xff0c;适合用于 Android 开发中的日志记录和调试。 项目地址: https://gitcode.com/gh_mirrors/ti/…...

OpenCore Legacy Patcher:3大突破让旧Mac重获新生的系统兼容性优化指南

OpenCore Legacy Patcher&#xff1a;3大突破让旧Mac重获新生的系统兼容性优化指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher&#xff08;O…...

KeyPass深度解析:打造完全离线的现代密码管理解决方案

KeyPass深度解析&#xff1a;打造完全离线的现代密码管理解决方案 【免费下载链接】KeyPass KeyPass: Open-source & offline password manager. Store, manage, take control securely. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyPass 在数字时代&#xff0…...

小米音乐Docker化解决方案:打造智能家居音乐中枢实战指南

小米音乐Docker化解决方案&#xff1a;打造智能家居音乐中枢实战指南 【免费下载链接】xiaomusic 使用小爱同学播放音乐&#xff0c;音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 小米音乐Docker项目是一款专为技术爱好者和开发…...

zynq ebaz4205开发板附带数字识别fpga例程 搭配ov7670/ov7725双目h...

zynq ebaz4205附带数字识别fpga例程代码 &#xff09;扩展板zynq摄像头采集hdmi显示zynq ebaz4205 手机充电线micro usb供电&#xff0c;包含ov双目hdmi扩展板、配有micro usb供电、摄像头手机充电器一般即可充电&#xff0c;使用ov7670或原子ov7725摄像头&#xff0c;需要部分…...

数据恢复与Python环境重建指南

数据恢复前的准备工作确认Anaconda安装路径及删除方式&#xff08;如回收站清理、命令行删除等&#xff09;&#xff0c;避免覆盖原始数据。列出常用存储位置&#xff1a;C:\Users\<用户名>\Anaconda3&#xff08;Windows&#xff09;或/home/<用户名>/anaconda3&a…...

Docker快速搭建个人开源导航站:从配置到公网访问

1. 为什么你需要一个个人导航站&#xff1f; 每天打开浏览器&#xff0c;你是不是也和我一样要反复输入那些常用的网址&#xff1f;GitHub、技术论坛、在线工具网站...收藏夹早就塞得乱七八糟。更糟的是换了电脑或手机&#xff0c;所有收藏都得重新整理。三年前我开始用自建导…...

VS Code远程开发必备:3分钟搞定SSH免密登录(附常见失败排查)

VS Code远程开发极简指南&#xff1a;SSH免密登录全流程与深度排错 每次连接远程服务器都要输入密码&#xff1f;VS Code的Remote-SSH插件虽然强大&#xff0c;但默认配置下的频繁密码验证确实影响开发效率。本文将带你用3分钟完成密钥对配置&#xff0c;彻底告别密码输入&…...

告别“手搓论文”焦虑:百考通AI期刊写作全流程通关秘籍

从选题到投稿&#xff0c;一套工具&#xff0c;帮你避开90%的审稿雷区 在学术研究的漫长旅途中&#xff0c;许多研究者都曾面临这样的困境&#xff1a;精心培育的 idea&#xff0c;扎实的实验数据&#xff0c;却在转化为论文、投向期刊的“最后一公里”屡屡碰壁。不是因为研究本…...