PHP支持模板,模板文件支持PHP代码

最好不要在模板里面写php。会导致sql注入,引起后台账号泄露。

ECshop的模板是支持php代码的,这个给一些不法分子创造了挂马的机会,这些不法分子挂马步骤很可能是:

1、通过ecshop的漏洞搞SQL注入,暴出管理员密码md5值,然后通过**md5得到管理密码。(注:防止暴出管理密码md5值的方法是关闭display_errors,并且修改cls_mysql.php里的ErrorMsg函数,注释掉所有错误输出代码或把错误写入文件)

2、进入管理后台,通过模板管理->库项目管理,编辑lbi文件,添加php代码,例如一句话shell

3、到这里,就完全控制这个站了,想挂什么马就挂什么马。

可见,ECshop的模板支持php代码这点是非常危险的,因此我们应该过滤模板里的所有php代码。

如果实在要去掉ecshop模板文件过滤php标签

修改 includes/cls_template.php

可以遵循以下步骤:

去掉第288-299行以下代码:

if(preg_match_all(‘~(|language\s*=\s*[\”\’]?php[\”\’]?)~is’, $source, $sp_match))

{

$sp_match[1] = array_unique($sp_match[1]);

for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)

{

$source = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$source);

}

for ($curr_sp = 0, $for_max2 = count($sp_match[1]); $curr_sp < $for_max2; $curr_sp++)

{

$source= str_replace('%%%SMARTYSP'.$curr_sp.'%%%', '‘.”\n”, $source);

}

}

这样,模板里的php代码就被保留了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值