首页 > 其他分享 >[BJDCTF2020]Mark loves cat

[BJDCTF2020]Mark loves cat

时间:2024-09-14 19:02:06浏览次数:10  
标签:GET cat flag 源码 exit foreach loves BJDCTF2020 handsome

这题进去是一个网页,最后发现没有什么东西,最后查看源码发现,在源码的最后输出了一个dog

这里就断定肯定存在一些隐藏的文件,最后通过kali扫描也是发现了一些 .git 文件,然后就想到了git源码泄露,但是不知道为什么我的扫描不出,就只好在网上找了大佬的代码了
index.php

<?php

include 'flag.php';

$yds = "dog";
$is = "cat";
$handsome = 'yds';

foreach($_POST as $x => $y){
    $$x = $y;
}

foreach($_GET as $x => $y){
    $$x = $$y;
}

foreach($_GET as $x => $y){
    if($_GET['flag'] === $x && $x !== 'flag'){
        exit($handsome);
    }
}

if(!isset($_GET['flag']) && !isset($_POST['flag'])){
    exit($yds);
}

if($_POST['flag'] === 'flag'  || $_GET['flag'] === 'flag'){
    exit($is);
}

echo "the flag is: ".$flag;

看到了这个代码就想到了变量覆盖,这里有个需要注意的点:

foreach($_GET as $x => $y){
    if($_GET['flag'] === $x && $x !== 'flag'){
        exit($handsome);
    }
}

这里的代码要求传入的变量名flag=$x,但是不能使$x=flag,但是最后会返回$handsome
这段代码的意思也就是限定了变量覆盖的名字,只能使用handsome
最后的payload:
?handsome=flag&flag=handsome
最后查看源码滑倒最下面就可以拿到flag

标签:GET,cat,flag,源码,exit,foreach,loves,BJDCTF2020,handsome
From: https://www.cnblogs.com/lcmz/p/18414557

相关文章

  • 基于Java实现的漫画之家系统设计与实现(SpringBoot+Vue+MySQL+Tomcat)
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.选题推荐毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10.为什么选择我?11.获取源码1.前言......
  • 基于Java实现的家政服务管理平台设计与实现(SpringBoot+Vue+MySQL+Tomcat)
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.选题推荐毕设案例8.系统测试8.1系统测试的目的8.2系统功能测试9.代码参考10.为什么选择我?11.获取源码1.前言......
  • DNSCAT2 是一个开源工具,用于通过 DNS 协议进行隐蔽的网络通信。它最初是由 Tim Wright
    DNSCAT2是一个开源工具,用于通过DNS协议进行隐蔽的网络通信。它最初是由TimWright开发的,目的是利用DNS协议的特点实现隐蔽的数据传输。DNSCAT2的主要用途是帮助安全研究人员测试和评估DNS相关的安全防护措施,尤其是在针对DNS隧道和数据泄露的防御方面。DNSCAT2的工作......
  • JCE cannot authenticate the provider BC
    JCEcannotauthenticatetheproviderBC解决办法:修改$JAVA_HOME\jre\lib\security\java.security文件添加如下内容security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider1其中security.provider.11中的11是根据已有的配置行顺序而定的,如下security.pr......
  • hint: See PEP 668 for the detailed specification.
    出现externally-managed-environment错误的原因是你的操作系统或Python环境开启了PEP668保护机制。即使你创建了新的conda虚拟环境,系统仍然标记该环境为“外部管理的”,不允许直接通过pip安装包。这是为了保护系统级的Python环境不被破坏。解决方案:1.使用--break-sys......
  • AKS (12) Application Gateway后端指向Azure AKS
    《WindowsAzurePlatform系列文章目录》 我们在使用AzureAKS的时候,会通过AzureApplicationGateway进行服务暴露,主要有三种实现方式:(1)通过AGIC(ApplicationGatewayIngressController)配置(2)AKS服务,通过NodePort暴露。然后ApplicationGateway后端......
  • 中移ML307A(4G Cat1,C-SDK,OpenCPU)模组学习开发-关于操作SD卡
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ML307A_OPEN"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 提示1,SD卡的引脚和串口0是冲突......
  • 减少 try...catch,定义全局统一异常处理器!【送源码】
    前言软件开发springboot项目过程中,不可避免的需要处理各种异常,springmvc架构中各层会出现大量的try{...}catch{...}finally{...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器,以便业务层再也不必处理异常。推荐理由代码......
  • Tomcat_使用IDEA开发javaWeb工程并部署运用
    目录1.配置文件点击fileprojectStructure   配置SDK和languagelevel的语言版本一致。apply然后ok。2.然后点击web-all创建一个moudle叫做demo02-web02。 3.这仅仅是一个java的目录结构,我们需要把他转换成javaweb的结构。所以我们需要添加web资源组件。右击demo02-......
  • AV1 Bitstream & Decoding Process Specification--[4]:语法结构
    原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf没有梯子的下载地址:AV1Bitstream&DecodingProcessSpecification摘要:这份文档定义了开放媒体联盟(AllianceforOpenMedia)AV1视频编解码器的比特流格式和解码过程。规范:此文档规定了开放媒体联盟(Alliance......