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

[BJDCTF2020]Mark loves cat

先用dirsearch扫一下,访问一下没有什么

需要设置线程

dirsearch -u http://8996e81f-a75c-4180-b0ad-226d97ba61b2.node4.buuoj.cn:81/ --timeout=2 -t 1 -x 400,403,404,500,503,429

使用githack

python2 GitHack.py http://8996e81f-a75c-4180-b0ad-226d97ba61b2.node4.buuoj.cn/.git

 

https://www.cnblogs.com/keta/p/6117237.html   foreach的语法

foreach用于遍历操作或输出数组

<?phpinclude 'flag.php';$yds = "dog";
$is = "cat";
$handsome = 'yds';foreach($_POST as $x => $y){$$x = $y;
}    //传入的post值会经过这,例:传入flag=flag,得到$x=flag,$y=flag,则$flag=flag;将会得不到flag的值foreach($_GET as $x => $y){$$x = $$y;
} //#传入的get值会经过这。例:传入is=flag,得到$is=$flagforeach($_GET as $x => $y){if($_GET['flag'] === $x && $x !== 'flag'){exit($handsome);}   //#get传入flag变量且值不为flag,输出handsome,退出
}if(!isset($_GET['flag']) && !isset($_POST['flag'])){exit($yds);
}  //#get和post传参不能有flagif($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){exit($is);   //#用post或get传的参数必须是flag且值为flag
}echo "the flag is: ".$flag;

因为很少做变量覆盖,都是参考别人的

第一种方法:

#传入的get值会经过这。例:传入is=flag,得到$is=$flag.
foreach($_GET as $x => $y){$$x = $$y;
}
#用post或get传的参数必须是flag且值为flag
if($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){exit($is);
}

首先传入is=flag,得到$x=is,$y=flag. 带进去变成$is=$flag;

if要求用post或get传入flag=flag,就会打印$is。而且经过foreach函数时得到$flag=$flag。没有改变内容。

即最终payload:/?is=flag&flag=flag

第二种方法:

#传入的get值会经过这。例:传入is=flag,得到$is=$flag.
foreach($_GET as $x => $y){$$x = $$y;
}
#get和post传参不能有flag
if(!isset($_GET['flag']) && !isset($_POST['flag'])){exit($yds);
}

最终输出$yds,和第一种一样,先构造yds=flag,

if要求get和post不能有flag函数。直接忽略

即payload:/?yds=flag

相关文章:

[BJDCTF2020]Mark loves cat

先用dirsearch扫一下&#xff0c;访问一下没有什么 需要设置线程 dirsearch -u http://8996e81f-a75c-4180-b0ad-226d97ba61b2.node4.buuoj.cn:81/ --timeout2 -t 1 -x 400,403,404,500,503,429使用githack python2 GitHack.py http://8996e81f-a75c-4180-b0ad-226d97ba61b2.…...

@SpringBootApplication注解的理解——如何排除自动装配 分布式情况下如何自动加载 nacos是怎么被发现的

前言 spring作为主流的 Java Web 开发的开源框架&#xff0c;是Java 世界最为成功的框架&#xff0c;持续不断深入认识spring框架是Java程序员不变的追求。 本篇博客介绍SpringBootApplicant注解的自动加载相关内容 其他相关的Spring博客文章列表如下&#xff1a; Spring基…...

HTTP的前世今生

史前时期 20 世纪 60 年代&#xff0c;美国国防部高等研究计划署&#xff08;ARPA&#xff09;建立了 ARPA 网&#xff0c;它有四个分布在各地的节点&#xff0c;被认为是如今互联网的“始祖”。 然后在 70 年代&#xff0c;基于对 ARPA 网的实践和思考&#xff0c;研究人员发…...

软件测试教程 自动化测试selenium篇(二)

掌握Selenium常用的API的使用 目录 一、webdriver API 1.1元素的定位 1.2 id定位 1.3name 定位 1.4tag name 定位和class name 定位 1.5CSS 定位 1.6XPath 定位 1.7link text定位 1.8Partial link text 定位 二、操作测试对象 2.1鼠标点击与键盘输入 2.2submit 提交…...

JavaSE入门--初始Java

文章目录 Java语言概述认识Java的main函数main函数示例运行Java程序认识注释认识标识符认识关键字 前言&#xff1a; 我从今天开始步入Java的学习&#xff0c;希望自己的博客可以带动小白学习&#xff0c;也能获得大佬的指点&#xff0c;日后能互相学习进步&#xff0c;都能如尝…...

leetcode做题笔记160. 相交链表

给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意&#xff0c;函数返回结果后&…...

数学建模Matlab之检验与相关性分析

只要做C题基本上都会用到相关性分析、一般性检验等&#xff01; 回归模型性能检验 下面讲一下回归模型的性能评估指标&#xff0c;用来衡量模型预测的准确性。下面是每个指标的简单解释以及它们的应用情境&#xff1a; 1. MAPE (平均绝对百分比误差) 描述: 衡量模型预测的相对…...

微服务网关:Spring Cloud Zuul 升级 Spring Cloud Gateway 的核心要点

1. 服务路由 1.1. Zuul 接收请求&#xff1a; 在routes路由规则中&#xff0c;根据path去匹配&#xff0c;如果匹配中&#xff0c;就使用对应的路由规则进行请求转发如果无法从routes中匹配&#xff0c;则根据path用“/”去截取第一段作为服务名进行请求转发&#xff0c;转发…...

视频讲解|含可再生能源的热电联供型微网经济运行优化(含确定性和源荷随机两部分代码)

1 主要内容 该视频为《含可再生能源的热电联供型微网经济运行优化》代码讲解内容&#xff0c;对应的资源下载链接为考虑源荷不确定性的热电联供微网优化-王锐matlab&#xff08;含视频讲解&#xff09;&#xff0c;对该程序进行了详尽的讲解&#xff0c;基本做到句句分析和讲解…...

3种等待方式,让你学会Selenium设置自动化等待测试脚本!

一、Selenium脚本为什么要设置等待方式&#xff1f;——即他的应用背景到底是什么 应用Selenium时&#xff0c;浏览器加载过程中无法立即显示对应的页面元素从而无法进行元素操作&#xff0c;需设置一定的等待时间去等待元素的出现。&#xff08;简单来说&#xff0c;就是设置…...

[Spring] Spring5——AOP 简介

目录 一、AOP 简介 1、什么是 AOP 二、AOP 底层原理 1、动态代理原理 2、基于接口的 JDK 动态代理 3、基于继承的 CGLib 动态代理 三、底层原理实现—— JDK 动态代理 1、使用 Proxy 类的方法创建代理对象 2、JDK 动态代理示例 四、AOP 操作术语 1、连接点 2、切入…...

C/C++ 动态规划面试算法题

1.买卖股票的最佳时机 https://blog.csdn.net/qq_41277628/article/details/113322136 输入&#xff1a;[7,1,5,3,6,4] 输出&#xff1a;5 解释&#xff1a;在第 2 天&#xff08;股票价格 1&#xff09;的时候买入&#xff0c;在第 5 天&#xff08;股票价格 6&#xff…...

kafka伪集群部署,使用zookeeper模式

1:拉去管理kafka界面UI镜像 docker pull provectuslabs/kafka-ui2:拉去管理kafka镜像 docker pull bitnami/kafka3:docker-compose.yml version: 3.8 services:zookeeper-1:container_name: zookeeper1image: bitnami/zookeeperports:- "2181:2181"environment:- …...

Postgresql 主从复制+主从切换(流复制)

pgsql有多种主从复制方式&#xff0c;推荐的是流复制 一、前置条件 1.至少两个pgsql数据库&#xff08;可以是一台设备上的两个&#xff09; 可以参考下面的教程 pgsql编译安装&#xff1a;pgsql 编译安装&#xff08;linux&#xff09; pgsql单机多开&#xff1a;pgsql 单机…...

java获取字符串集合中每个字符并且组成一个新的集合实现

直接怼代码&#xff0c;刚好碰到了这种需求&#xff0c;也是想了可久&#xff0c;其实想想也还是挺简单的 public static void main(String[] args) { // 原始字符串集合 List<String> originalList new ArrayList<>(); originalList.add("Hello"); …...

结构型设计模式——外观模式

摘要 本文主要分析设计模式 - 结构型 - 外观(Facade)&#xff0c;它提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让子系统更容易使用。 一、外观模式的意图 提供了一个统一的接口&#xff0c;用来访问子系统中的一群接口&#xff0c;从而让…...

【算法学习】-【双指针】-【快乐数】

LeetCode原题链接&#xff1a;202. 快乐数 下面是题目描述&#xff1a; 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果…...

【Java-LangChain:使用 ChatGPT API 搭建系统-6】处理输入-链式 Prompt Chaining Prompts

第六章&#xff0c;处理输入-链式 Prompt Chaining Prompts 在本章中&#xff0c;我们将学习如何通过将复杂任务拆分为一系列简单的子任务来链接多个 Prompt。 您可能会想&#xff0c;为什么要将任务拆分为多个 Prompt&#xff0c;而不是像我们在上一个视频中学习的那样&…...

从零手搓一个【消息队列】创建核心类, 数据库设计与实现

文章目录 一、创建核心类1, 交换机2, 交换机类型3, 队列4, 绑定5, 交换机转发 & 绑定规则6, 消息7, 消息属性 二、数据库设计1, 使用 SQLite2, 使用 MyBatis2.1, 创建 Interface2.2, 创建 xml 文件 三、硬盘管理 -- 数据库1, 创建 DataBaseManager 类2, init() 初始化数据库…...

14:00面试,14:06就出来了,这问的过于变态了。。。

前言 刚从小厂出来&#xff0c;没想到在另一家公司我又寄了。 在这家公司上班&#xff0c;每天都要加班&#xff0c;但看在钱给的比较多的份上&#xff0c;也就不太计较了。但万万没想到5月一纸通知&#xff0c;所有人不准加班了&#xff0c;不仅加班费没有了&#xff0c;薪资…...

《心核驱动:基于本质定义的AI性格自进化架构》

前言&#xff1a;拒绝表面调参&#xff0c;直击AI性格本质当前市面上的AI性格定制&#xff0c;大多停留在“表层调参”阶段——试图通过调整温度、Top-p等概率参数来模拟情感&#xff0c;结果往往顾此失彼&#xff0c;要么机械生硬&#xff0c;要么逻辑崩塌。真正的智能性格&am…...

Linux 系统运行速度慢有哪些排查方法?

Linux 系统变慢通常是资源供需失衡导致的&#xff0c;建议按 CPU、内存、磁盘 I/O、网络的顺序依次排查&#xff0c;优先使用 top、free、iostat 等基础命令定位瓶颈。 先说结论&#xff1a;系统卡顿本质是核心资源被过度占用&#xff0c;需先定位具体瓶颈资源&#xff0c;再针…...

不只是显示中文:用fbterm给你的CentOS终端换个‘皮肤’,提升老旧服务器运维效率

终端美学革命&#xff1a;用fbterm打造高效CentOS字符界面工作环境 在服务器运维的世界里&#xff0c;图形界面往往被视为奢侈品。当您面对一台资源受限的老旧CentOS服务器&#xff0c;或者需要远程管理没有X11支持的机器时&#xff0c;字符界面就成了唯一的选择。但单调的终端…...

别再死记硬背了!用这3个真实网络场景,彻底搞懂华为ACL的配置逻辑

华为ACL实战指南&#xff1a;3个典型场景解锁访问控制精髓 每次看到新手工程师面对ACL配置时一脸茫然的样子&#xff0c;我就想起自己当年在机房通宵排错的经历。访问控制列表&#xff08;ACL&#xff09;作为网络安全的"门禁系统"&#xff0c;其重要性不言而喻&…...

私有云时代来临:AI NAS如何重塑你的数字生活?

超越传统存储&#xff0c;打造你的私人云端 在信息爆炸的时代&#xff0c;随着个人存储需求的激增和变化&#xff0c;以及个体对数据隐私和安全性的日益重视&#xff0c;外加AI的技术加持&#xff0c;一种大家也许并不熟知的存储解决方案——NAS迎来了发展机遇。 NAS是Network …...

从数据焦虑到数字资产:WeChatExporter如何重塑你的微信记忆管理

从数据焦虑到数字资产&#xff1a;WeChatExporter如何重塑你的微信记忆管理 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾因手机存储空间不足而不得不删除珍贵…...

AI编程工具的内卷:Copilot、Cursor、通义灵码,谁能笑到最后?

当“内卷”的风吹到AI编程工具2026年&#xff0c;AI编程工具已不再是新鲜事物&#xff0c;而是开发者工具箱中的标配。从最初的代码补全&#xff0c;到如今的全栈智能体&#xff0c;这个赛道正经历着一场前所未有的“内卷”。GitHub Copilot、Cursor、通义灵码三足鼎立&#xf…...

当AI开始写代码,测试工程师的挑战才刚刚开始

最近&#xff0c;我让五款主流的AI编程工具完成了同一个开发需求&#xff0c;结果让我这个做了八年测试的老兵深受震撼。不是为了比较谁写的代码更“优雅”&#xff0c;而是从测试的角度&#xff0c;我看到了未来五年软件质量保障工作的全新图景。 我们测试从业者正站在一个十…...

活动策划27年:一场手印启动,让我读懂“谨慎”二字

活动策划27年&#xff1a;一场手印启动&#xff0c;让我读懂“谨慎”二字做活动策划27年&#xff0c;千余场活动下来&#xff0c;我常跟团队说&#xff1a;“做活动&#xff0c;不怕累&#xff0c;就怕措手不及的意外。”每一场活动前&#xff0c;我都要反复推演流程&#xff0…...

为什么93%的开发者在WebRTC集成中卡在ElevenLabs音频缓冲层?——低延迟TTS流式传输终极调优方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs API开发接入指南 ElevenLabs 提供高质量、低延迟的语音合成&#xff08;TTS&#xff09;服务&#xff0c;其 RESTful API 支持多种语言、情感调节与声音克隆能力。接入前需在 ElevenLabs 控…...