ctl.template.php :
function saveContent(){
if(strtolower(substr($_POST['file'],-4,4))=='.php') $_POST['file']='index.html';//只验证最后4位数
$this->begin('index.php?ctl=system/template&act=edit&p[0]='.$_POST['theme']);
$o = $this->system->loadModel('system/template');
$template=array(
'tpl_name'=>$_POST['file_name'],
'tpl_file'=>$_POST['file'],
'tpl_theme'=>$_POST['theme'],
'tpl_type'=>$_POST['type']
);
利用方法:
构造一个上传页面, 提交文件后缀为 .php5(linux) 或在 .php 后面加上一个空格(windows)就能绕过验证
这里附上4.8.4 及 4.8.5 两个不同版本的上传页面:
成功上传后生成一句话后门 - http://站点/home/cache/t00ls-1.php5
http://files.cnblogs.com/waw/484-485.zip
Shopex商城获得shell一法
输入http://商城网站/install
按提示安装,一直到索取授权文件,按照提示提交信息,收到邮件后激活下载授权文件到本地,用记事本打开授权文件,加上php一句话代码,然后上传,提示成功后用lanker的php连接端连接http://url/index.php就可以获得webshell了,官方演示好象无此漏洞