建站帮助

诚信合作, 高质专业!

Phpcms v9安全漏洞补丁文件更新,修正管理后台碎片管理GetShell漏洞

2020-12-30 15:11:59 浏览 我要评论

最近忙于项目,比较少静下来更新文章,最近针对Phpcms v9.6.3管理后台碎片管理GetShell漏洞进行了分析,整理出来v9管理后台碎片管理GetShell漏洞的修补方法,已经更新到Phpcms v9安全漏洞补丁修补文件,在此来与大家分享Phpcms v9安全防范的一些思路。

此次更新的漏洞文件是针对Phpcms v9.6.3管理后台碎片管理GetShell漏洞,主要涉及文件:phpcms/modules/block/classes/block_tag.class.php、phpcms/modules/block/block_admin.php。

Phpcms v9.6.3管理后台碎片管理GetShell漏洞

在phpcms/modules/block/block_admin.php第259行可以看到【$str = $tpl->template_parse(new_stripslashes($template));】,获取$_POST['template']变量后,并没有对$template做了trim和new_stripslashes函数处理后做太多处理,之后直接file_put_contents($filepath,$str)输出到缓存模版文件中,这就很大隐患,如果能得到管理后台权限,进入该模块就能向服务器产生php可执行文件,从而GetShell。

具体解决方法:

1、针对这两个文件,做安防过滤,过滤eval、file_put_contents、base64_decode等带有隐蔽加密、攻击性的php语句。

2、关闭在线模板编辑权限,修改配置文件/caches/configs/system.php,找到'tpl_edit'=> 1修改为:'tpl_edit'=> 0。

3、如果没有使用到碎片管理模块,建议删除/phpcms/modules/block/目录。

若程序或者服务器已经被攻击,需要先确保底层php、mysql环境安全,之后再全新安装配置phpcms打补丁、检查附件目录uploadfile中是否含有.php文件,是否含有小于3kb的.png、.jpg文件(实际是伪装图片的php语句文件),检查配置文件、模板文件写法,是否含有木马残留。

提示1:如果没有会员登录注册、会员中心功能,建议删除官方的会员系统目录phpsso_server;如果需要用到phpsso_server而没有跟uc对接,建议删除/phpsso_server/api/uc_client/、/phpsso_server/api/uc_client_1_5/这两个目录以及/phpsso_server/api/uc.php、/phpsso_server/api/install.php这两个文件。

提示2:如有必要,可启用https网址,并适当改造程序,比如将默认的phpcms目录名修改成别的目录名,并做好管理后台入口的修改(详见:Phpcms V9修改管理后台登录入口路径的三种方法)。

最后感怀一句:时光荏苒,被疫情笼罩的一年即将过去,可歌可叹!青山一改再改,流水永在~

我要收藏
点个赞吧
相关标签:

相关阅读

本月热门

精选推荐

在线客服

扫一扫,关注我们

扫一扫,关注我们