天天看点

[SWPUCTF 2018]SimplePHP

简单的phar反序列化

首先我们需要将​<code>​php.ini​</code>​中的​<code>​phar.readonly​</code>​选项设置为Off,否则无法生成​<code>​phar​</code>​文件。

大致生成代码如下:

如上面代码,我们只需要将需要反序列化的代码赋值给​<code>​$a​</code>​就可以了。运行后就会出现一个phar.phar后缀名的文件,且它生成后文件名可以随便修改,不会丢失它文件的属性。

进来一个文件上传读取界面,先上传马儿文件失败,然后回到查看文件的位置

[SWPUCTF 2018]SimplePHP

发现​<code>​/file.php?file=​</code>​,读取​<code>​class.php​</code>​:

提示​<code>​phar:​</code>​反序列化,我们想利用的地方肯定是​<code>​file_get​</code>​,依次寻找链子,链子如下:

然后就是生成​<code>​phar​</code>​文件,exp如下:

然后修改后缀为​<code>​jpg​</code>​,上传上去,再去访问​<code>​/upload​</code>​即可查看文件位置,最后payload:

[SWPUCTF 2018]SimplePHP