config/cron.php'文件写入任意内容,同时该文件有多处被包含且可以被利用的点,正常情况下具有上述的触发条件即可稳定触发该漏洞
环境搭建
1.安装并配置好php与web中间件,注意该cms的低版本需要...config/cron.php'文件,可控的写入点位于字符串$json的赋值中,且在两个'的包裹中,此处是漏洞产生的主要原因,未对用户的输入做足够的判断或清洗即写入相应的文件
在/Admin.php?...htmlspecialchars_decode('>'));return;']
绕过json编码和xss清洗后,写入WRITEPATH.'config/cron.php'文件中的内容为:
数组的key没有任何过滤,包括多维数组的每一维度的key,所以此处可以通过修改post的内容中的key来写入我们想要的任意内容
以下是我的一个思路:把要写入的文件或要执行的代码,进行各种编码...,在"应用"->"联动菜单"->"导入"处直接上传该zip文件,同时上传时必须要抓包,响应包中会返回上传的文件的物理路径
响应包中返回的物理路径通常为*/cache/temp/*.zip,而通过该漏洞上传的