环境搭建:使用phpstudy,phpstudy版本2016,PHP版本5.4.45,mysql版本5.5.53
dedecms版本5.7 sp1 utf-8版
环境搭建好以后安装dedecms,安装完成以后访问一下
存在漏洞的地方在install/index.php文件中
在29到33行中存在变量覆盖,这段代码的大概意思是依次对_GET,_POST,_COOKIE进行键值分离
例如:_GET传入的参数是id=1,name=nfnf,在第一个foreach中先遍历_GET,此时$_request变为$_get,在第二个foreach中$$_request就变为$_get,$_k就是id和name
${$_k}就变为$id,$_v就是1和nfnf。最后$id的值就是被$_v被函数RunMagicQuotes处理后的值
文件包含
同样是在这个文件中
在文件的最后375行使用require_once函数包含了…/data/admin/config_update.php文件
在被包含的文件中定义了变量$updataHost
这是一个远程文件包含,结合前面的变量覆盖就可以控制包含的内容