config/cron.php'文件,可控的写入点位于字符串$json的赋值中,且在两个'的包裹中,此处是漏洞产生的主要原因,未对用户的输入做足够的判断或清洗即写入相应的文件
在/Admin.php?...c=Cron&m=add页面不添加内容直接点击保存时生成的cron.php:
\Phpcmf\Service::L('input')->system_log('设置自定义任务类型');
$this->...然后通过php内的函数再解码
下面是我的一个方法,在WRITEPATH.'...>编码成base64或html,然后通过php内的函数解码
以下是我的一种方法,整个漏洞利用过程中,除了上述所述的关于add()函数中增加的对键值对的value的过滤,其他流程相较于之前的版本没有任何变化...格式,然后登陆后台,在具备相关权限的情况下,在"应用"->"联动菜单"->"导入"处直接上传该zip文件,同时上传时必须要抓包,响应包中会返回上传的文件的物理路径
响应包中返回的物理路径通常为*